Рефакторинг и исправление тестов
This commit is contained in:
parent
c605a711a6
commit
c8dedeb4d5
@ -55,10 +55,14 @@ public class AutoResponder<U extends Unit> {
|
||||
!unitPointer.isPresent() || newScenario(unitPointer.get()) ? startUnits : unitPointer.get().getUnit().getNextUnits(),
|
||||
message
|
||||
);
|
||||
unitOpt.ifPresent(unit -> {
|
||||
unitPointer.orElseGet(() -> unitPointerService.create(personId));
|
||||
unitPointerService.edit(personId, unit);
|
||||
});
|
||||
if (unitOpt.isPresent()) {
|
||||
U unit = unitOpt.get();
|
||||
if (unitPointer.isPresent()) {
|
||||
unitPointerService.edit(personId, unit);
|
||||
} else {
|
||||
unitPointerService.add(new UnitPointer(personId, unit));
|
||||
}
|
||||
}
|
||||
return unitOpt.isPresent() ? unitOpt : Optional.ofNullable(defaultUnit);
|
||||
}
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
package org.sadtech.autoresponder.exception;
|
||||
|
||||
/**
|
||||
* Исключение, которое выбрасывается, если юнит не найден.
|
||||
*
|
||||
* @author upagge [07/07/2019]
|
||||
*/
|
||||
public class NotFoundUnitException extends RuntimeException {
|
||||
|
||||
}
|
@ -25,8 +25,6 @@ public interface UnitPointerService {
|
||||
|
||||
Optional<UnitPointer> getByEntityId(@NonNull Integer entityId);
|
||||
|
||||
UnitPointer create(@NonNull Integer entryId);
|
||||
|
||||
void edit(@NonNull Integer personId, Unit unit);
|
||||
|
||||
|
||||
|
@ -20,11 +20,6 @@ public class UnitPointerServiceImpl implements UnitPointerService {
|
||||
return unitPointerRepository.findByEntityId(entityId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UnitPointer create(@NonNull Integer entryId) {
|
||||
return unitPointerRepository.add(new UnitPointer(entryId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(@NonNull Integer personId, Unit unit) {
|
||||
if (check(personId)) {
|
||||
|
@ -13,5 +13,5 @@ import java.lang.annotation.Target;
|
||||
@Target(ElementType.FIELD)
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Description {
|
||||
String value();
|
||||
String value() default "";
|
||||
}
|
||||
|
15
src/main/java/org/sadtech/autoresponder/util/Message.java
Normal file
15
src/main/java/org/sadtech/autoresponder/util/Message.java
Normal file
@ -0,0 +1,15 @@
|
||||
package org.sadtech.autoresponder.util;
|
||||
|
||||
/**
|
||||
* Класс содержащий сообщения для ошибок и логера.
|
||||
*
|
||||
* @author upagge [22.08.2019]
|
||||
*/
|
||||
final class Message {
|
||||
|
||||
static final String UTILITY_CLASS = "Клас утилита";
|
||||
|
||||
private Message() {
|
||||
throw new IllegalStateException(UTILITY_CLASS);
|
||||
}
|
||||
}
|
@ -1,9 +1,12 @@
|
||||
package org.sadtech.autoresponder.util;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static org.sadtech.autoresponder.util.Message.UTILITY_CLASS;
|
||||
|
||||
/**
|
||||
* Разбивает строку на множество слов, удаляя предлоги.
|
||||
@ -13,13 +16,11 @@ import java.util.stream.Stream;
|
||||
public class Parser {
|
||||
|
||||
@Description("Множество предлогов")
|
||||
private static final Set<String> pretexts = Stream
|
||||
.of("в", "без", "до", "из", "к", "на", "по", "о", "от", "перед", "при", "с", "у", "за", "над", "об",
|
||||
"под", "про", "для")
|
||||
.collect(Collectors.toSet());
|
||||
private static final Set<String> pretexts = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("в", "без", "до", "из", "к", "на", "по", "о", "от", "перед", "при", "с", "у", "за", "над", "об",
|
||||
"под", "про", "для")));
|
||||
|
||||
private Parser() {
|
||||
throw new IllegalStateException("Utility Class");
|
||||
throw new IllegalStateException(UTILITY_CLASS);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,9 +70,9 @@ public class AutoResponderTest {
|
||||
|
||||
@Test
|
||||
public void simpleAnswer() {
|
||||
String message = autoresponder.answer(1, "привет это тестирвоание функциональности").get().getMessage();
|
||||
String message = autoresponder.answer(1, "привет это тестирвоание функциональности").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("тест", message);
|
||||
String message1 = autoresponder.answer(2, "привет, еще одно тестирование").get().getMessage();
|
||||
String message1 = autoresponder.answer(2, "привет, еще одно тестирование").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("тест", message1);
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ public class AutoResponderTest {
|
||||
TestUnit defaultUnit = TestUnit.builder().message("не знаю").build();
|
||||
autoresponder.setDefaultUnit(defaultUnit);
|
||||
|
||||
Assert.assertEquals("не знаю", autoresponder.answer(2, "пока").get().getMessage());
|
||||
Assert.assertEquals("не знаю", autoresponder.answer(2, "пока").orElseThrow(NullPointerException::new).getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -91,7 +91,7 @@ public class AutoResponderTest {
|
||||
|
||||
@Test
|
||||
public void regExpAnswer() {
|
||||
String message = autoresponder.answer(1, "79101234567").get().getMessage();
|
||||
String message = autoresponder.answer(1, "79101234567").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("регулярка", message);
|
||||
}
|
||||
|
||||
@ -99,9 +99,9 @@ public class AutoResponderTest {
|
||||
public void priorityAnswer() {
|
||||
autoresponder.answer(1, "привет");
|
||||
autoresponder.answer(2, "привет");
|
||||
String message = autoresponder.answer(1, "как твои делишки").get().getMessage();
|
||||
String message = autoresponder.answer(1, "как твои делишки").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("отлично", message);
|
||||
String message1 = autoresponder.answer(2, "твои дела все еще хорошо?").get().getMessage();
|
||||
String message1 = autoresponder.answer(2, "твои дела все еще хорошо?").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("хорошо", message1);
|
||||
}
|
||||
|
||||
@ -109,14 +109,14 @@ public class AutoResponderTest {
|
||||
public void showRegExpVsKeyWords() {
|
||||
autoresponder.answer(1, "привет");
|
||||
autoresponder.answer(1, "дела");
|
||||
Assert.assertEquals("регулярка", autoresponder.answer(1, "89101234567").get().getMessage());
|
||||
Assert.assertEquals("регулярка", autoresponder.answer(1, "89101234567").orElseThrow(NullPointerException::new).getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void matchThreshold() {
|
||||
autoresponder.answer(1, "витамин я сьем, и арбуз получу");
|
||||
String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт";
|
||||
String answer = autoresponder.answer(1, message).get().getMessage();
|
||||
String answer = autoresponder.answer(1, message).orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("победа", answer);
|
||||
}
|
||||
|
||||
@ -124,16 +124,16 @@ public class AutoResponderTest {
|
||||
public void generalAnswer() {
|
||||
TestUnit defaultUnit = TestUnit.builder().message("не знаю").build();
|
||||
autoresponder.setDefaultUnit(defaultUnit);
|
||||
String answer = autoresponder.answer(1, "привет это тестирование функциональности").get().getMessage();
|
||||
String answer = autoresponder.answer(1, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("тест", answer);
|
||||
Assert.assertEquals("хорошо", autoresponder.answer(1, "как твои дела").get().getMessage());
|
||||
String answer2 = autoresponder.answer(2, "привет это тестирование функциональности").get().getMessage();
|
||||
Assert.assertEquals("хорошо", autoresponder.answer(1, "как твои дела").orElseThrow(NullPointerException::new).getMessage());
|
||||
String answer2 = autoresponder.answer(2, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("тест", answer2);
|
||||
Assert.assertEquals("не знаю", autoresponder.answer(1, "нет").get().getMessage());
|
||||
Assert.assertEquals("не знаю", autoresponder.answer(1, "нет").orElseThrow(NullPointerException::new).getMessage());
|
||||
String message = "параметр себе задам: покушать витамин и арбуз, а вместе все это мультифрукт";
|
||||
Assert.assertEquals("победа", autoresponder.answer(3, message).get().getMessage());
|
||||
Assert.assertEquals("регулярка", autoresponder.answer(1, "8912345678").get().getMessage());
|
||||
String answer3 = autoresponder.answer(1, "привет это тестирование функциональности").get().getMessage();
|
||||
Assert.assertEquals("победа", autoresponder.answer(3, message).orElseThrow(NullPointerException::new).getMessage());
|
||||
Assert.assertEquals("регулярка", autoresponder.answer(1, "8912345678").orElseThrow(NullPointerException::new).getMessage());
|
||||
String answer3 = autoresponder.answer(1, "привет это тестирование функциональности").orElseThrow(NullPointerException::new).getMessage();
|
||||
Assert.assertEquals("тест", answer3);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user