Поправил конфигуратор и написал основной тест

This commit is contained in:
Mark Struchkov 2019-01-21 00:35:52 +03:00
parent c9851384b8
commit 2a057e6b67
2 changed files with 143 additions and 127 deletions

View File

@ -8,7 +8,7 @@ public class UnitPriorityComparator implements Comparator<Unit> {
@Override
public int compare(Unit o1, Unit o2) {
if (o1.getPriority() > o2.getPriority()) {
if (o1.getPriority() < o2.getPriority()) {
return -1;
} else if (o1.getPriority().equals(o2.getPriority())) {
return 0;

View File

@ -1,126 +1,142 @@
//package org.sadtech.autoresponder;
//
//import org.junit.Assert;
//import org.junit.Before;
//import org.junit.Test;
//import org.sadtech.autoresponder.entity.Person;
//import org.sadtech.autoresponder.entity.Unit;
//import org.sadtech.autoresponder.repository.impl.PersonRepositoryMap;
//import org.sadtech.autoresponder.service.impl.PersonServiceImpl;
//import org.sadtech.autoresponder.service.impl.UnitServiceImpl;
//
//import java.util.ArrayList;
//import java.util.HashSet;
//
//public class AutoresponderTest {
//
// private Person person = new Person();
// private Unit unit = new Unit();
// private Unit unit2 = new Unit();
// private Unit unit3 = new Unit();
// private ArrayList<Unit> units = new ArrayList<>();
// private UnitRepositoryMap unitRepository = new UnitRepositoryMap();
// private PersonRepositoryMap personRepository = new PersonRepositoryMap();
//
// private UnitServiceImpl unitService = new UnitServiceImpl(unitRepository);
// private PersonServiceImpl personService = new PersonServiceImpl(personRepository);
// private Autoresponder autoresponder = new Autoresponder(unitService, personService);
//
//
// @Before
// public void before() {
// HashSet<String> words = new HashSet<>();
// HashSet<String> words2 = new HashSet<>();
// words.add("тест");
// words2.add("тест");
// words2.add("привет");
//
// unit.setIdUnit(1);
// unit.setLevel(true);
// unit.setPriority(50);
// unit.setKeyWords(words);
// unit.setAnswer("Здравствуйте, вы написали в нашу компанию!");
// unit.setMatchThreshold(100);
//
// units.add(unit2);
// units.add(unit3);
//
// unit.setNextUnits(units);
//
// unit2.setIdUnit(2);
// unit2.setAnswer("Ответ с {0} параметрами!");
// unit2.setPriority(60);
// unit2.setKeyWords(words);
// unit2.setMatchThreshold(100);
//
// unit3.setIdUnit(3);
// unit3.setAnswer("Второй Ответ с {0} параметрами!");
// unit3.setPriority(50);
// unit3.setKeyWords(words2);
// unit3.setMatchThreshold(100);
//
// person.setUnit(unit);
// person.setId(1);
//
// unitRepository.addUnit(unit);
// unitRepository.addUnit(unit2);
// personRepository.addPerson(person);
// }
//
// @Test
// public void usualAnswer() {
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания"), "Ответ с {0} параметрами!");
// }
//
// @Test
// public void answerOneParameter() {
// ArrayList<String> words = new ArrayList<>();
// words.add("одним");
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания", words), "Ответ с одним параметрами!");
// }
//
// @Test
// public void NoAnswer() {
// person.setUnit(null);
// String test = autoresponder.answer(person.getId(), "Привет это срабатывания");
// Assert.assertNull(test);
// }
//
// @Test
// public void answerTwoParameter() {
// ArrayList<String> words = new ArrayList<>();
// words.add("одним");
// words.add("двумя");
// unit2.setAnswer("Ответ с {0} и {1}");
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания", words), "Ответ с одним и двумя");
// }
//
// @Test
// public void incorrectSettingsWords() {
// ArrayList<String> words = new ArrayList<>();
// words.add("одним");
// words.add("двумя");
// unit2.setAnswer("Ответ с {1} и {3}");
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания", words), "Ответ с двумя и {3}");
// }
//
// @Test
// public void answerRepeatSingleParameter() {
// ArrayList<String> words = new ArrayList<>();
// words.add("одним");
// words.add("двумя");
// unit2.setAnswer("Ответ с {1} и {1}");
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания", words), "Ответ с двумя и двумя");
// }
//
// @Test
// public void answerByPriority() {
// Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания"), "Ответ с {0} параметрами!");
// }
//
// @Test
// public void answerNoPerson() {
// Assert.assertEquals(autoresponder.answer(100, "Привет это тест срабатывания"), "Здравствуйте, вы написали в нашу компанию!");
// Assert.assertEquals(autoresponder.answer(100, "Привет это тест срабатывания"), "Ответ с {0} параметрами!");
// }
//}
package org.sadtech.autoresponder;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.sadtech.autoresponder.entity.Person;
import org.sadtech.autoresponder.entity.Unit;
import org.sadtech.autoresponder.repository.UnitRepository;
import org.sadtech.autoresponder.repository.impl.PersonRepositoryMap;
import org.sadtech.autoresponder.service.impl.PersonServiceImpl;
import org.sadtech.autoresponder.service.impl.UnitServiceImpl;
import java.util.*;
public class AutoresponderTest {
private Person person = new Person(1);
private TextUnit unit = new TextUnit();
private TextUnit unit2 = new TextUnit();
private TextUnit unit3 = new TextUnit();
private ArrayList<Unit> units = new ArrayList<>();
private TextUnitRepositoryList unitRepository = new TextUnitRepositoryList();
private PersonRepositoryMap personRepository = new PersonRepositoryMap();
private UnitServiceImpl unitService = new UnitServiceImpl();
private PersonServiceImpl personService = new PersonServiceImpl(personRepository);
private Autoresponder autoresponder = new Autoresponder(unitService, personService);
@Before
public void before() {
unitService.addUnitRepository(unitRepository);
HashSet<String> words = new HashSet<>();
HashSet<String> words2 = new HashSet<>();
words.add("тест");
words2.add("тест");
words2.add("привет");
unit.setLevel(true);
unit.setPriority(50);
unit.setKeyWords(words);
unit.setAnswer("Здравствуйте, вы написали в нашу компанию!");
unit.setMatchThreshold(100);
units.add(unit2);
units.add(unit3);
unit.setNextUnits(units);
unit2.setAnswer("Ответ с {0} параметрами!");
unit2.setPriority(60);
unit2.setKeyWords(words);
unit2.setMatchThreshold(100);
unit3.setAnswer("Второй Ответ с {0} параметрами!");
unit3.setPriority(50);
unit3.setKeyWords(words2);
unit3.setMatchThreshold(100);
person.setUnit(unit);
unitRepository.addUnit(unit);
unitRepository.addUnit(unit2);
personRepository.addPerson(person);
}
@Test
public void usualAnswer() {
Unit unit = autoresponder.answer(person.getId(), "Привет это тест срабатывания");
Assert.assertEquals(((TextUnit) unit).getAnswer(), "Ответ с {0} параметрами!");
}
@Test
public void NoAnswer() {
person.setUnit(null);
autoresponder.answer(person.getId(), "Привет это срабатывания");
}
@Test
public void answerByPriority() {
Assert.assertEquals(autoresponder.answer(person.getId(), "Привет это тест срабатывания"), "Ответ с {0} параметрами!");
}
@Test
public void answerNoPerson() {
TextUnit textUnit = (TextUnit) autoresponder.answer(100, "Привет это тест срабатывания");
Assert.assertEquals(textUnit.getAnswer(), "Здравствуйте, вы написали в нашу компанию!");
textUnit = (TextUnit) autoresponder.answer(100, "Привет это тест срабатывания");
Assert.assertEquals(textUnit.getAnswer(), "Ответ с {0} параметрами!");
}
private class TextUnit extends Unit {
private String answer;
public TextUnit() {
super();
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
}
private class TextUnitRepositoryList implements UnitRepository {
List<Unit> textUnits = new ArrayList<>();
@Override
public void addUnit(Unit unit) {
textUnits.add(unit);
}
@Override
public void addUnits(Collection<Unit> units) {
textUnits.addAll(units);
}
@Override
public void removeUnit(Unit idUnit) {
textUnits.remove(idUnit);
}
@Override
public List<Unit> menuUnits() {
List<Unit> units = new ArrayList<>();
for (Unit textUnit : textUnits) {
if (textUnit.getLevel()) {
units.add(textUnit);
}
}
return units;
}
}
}