Исправлены тесты
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
package ru.serega6531.packmate;
|
package ru.serega6531.packmate;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.util.Assert;
|
|
||||||
import ru.serega6531.packmate.model.FoundPattern;
|
import ru.serega6531.packmate.model.FoundPattern;
|
||||||
import ru.serega6531.packmate.model.Pattern;
|
import ru.serega6531.packmate.model.Pattern;
|
||||||
import ru.serega6531.packmate.model.enums.PatternSearchType;
|
import ru.serega6531.packmate.model.enums.PatternSearchType;
|
||||||
@@ -27,13 +27,14 @@ public class PatternMatcherTest {
|
|||||||
.build());
|
.build());
|
||||||
|
|
||||||
final Pattern pattern = new Pattern();
|
final Pattern pattern = new Pattern();
|
||||||
|
pattern.setId(1);
|
||||||
pattern.setValue("[a-f]{3}");
|
pattern.setValue("[a-f]{3}");
|
||||||
pattern.setSearchType(PatternSearchType.REGEX);
|
pattern.setSearchType(PatternSearchType.REGEX);
|
||||||
|
|
||||||
final PatternMatcher matcher = new PatternMatcher(content.getBytes(), List.of(pattern));
|
final PatternMatcher matcher = new PatternMatcher(content.getBytes(), List.of(pattern));
|
||||||
final Set<FoundPattern> matches = matcher.findMatches();
|
final Set<FoundPattern> matches = matcher.findMatches();
|
||||||
|
|
||||||
Assert.isTrue(matches.equals(correctMatches), "Incorrect search: " + matches.toString());
|
assertMatchesAreCorrect(correctMatches, matches);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -50,13 +51,14 @@ public class PatternMatcherTest {
|
|||||||
.build());
|
.build());
|
||||||
|
|
||||||
final Pattern pattern = new Pattern();
|
final Pattern pattern = new Pattern();
|
||||||
|
pattern.setId(1);
|
||||||
pattern.setValue("bbb");
|
pattern.setValue("bbb");
|
||||||
pattern.setSearchType(PatternSearchType.SUBSTRING);
|
pattern.setSearchType(PatternSearchType.SUBSTRING);
|
||||||
|
|
||||||
final PatternMatcher matcher = new PatternMatcher(content.getBytes(), List.of(pattern));
|
final PatternMatcher matcher = new PatternMatcher(content.getBytes(), List.of(pattern));
|
||||||
final Set<FoundPattern> matches = matcher.findMatches();
|
final Set<FoundPattern> matches = matcher.findMatches();
|
||||||
|
|
||||||
Assert.isTrue(matches.equals(correctMatches), "Incorrect search: " + matches.toString());
|
assertMatchesAreCorrect(correctMatches, matches);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -73,13 +75,27 @@ public class PatternMatcherTest {
|
|||||||
.build());
|
.build());
|
||||||
|
|
||||||
final Pattern pattern = new Pattern();
|
final Pattern pattern = new Pattern();
|
||||||
|
pattern.setId(1);
|
||||||
pattern.setValue("AAaa");
|
pattern.setValue("AAaa");
|
||||||
pattern.setSearchType(PatternSearchType.SUBBYTES);
|
pattern.setSearchType(PatternSearchType.SUBBYTES);
|
||||||
|
|
||||||
final PatternMatcher matcher = new PatternMatcher(content, List.of(pattern));
|
final PatternMatcher matcher = new PatternMatcher(content, List.of(pattern));
|
||||||
final Set<FoundPattern> matches = matcher.findMatches();
|
final Set<FoundPattern> matches = matcher.findMatches();
|
||||||
|
|
||||||
Assert.isTrue(matches.equals(correctMatches), "Incorrect search: " + matches.toString());
|
assertMatchesAreCorrect(correctMatches, matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertMatchesAreCorrect(Set<FoundPattern> correctMatches, Set<FoundPattern> foundMatches) {
|
||||||
|
Assertions.assertEquals(correctMatches.size(), foundMatches.size());
|
||||||
|
|
||||||
|
Assertions.assertTrue(correctMatches.stream().allMatch(correct ->
|
||||||
|
foundMatches.stream().anyMatch(found -> matchesEqual(correct, found))
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean matchesEqual(FoundPattern one, FoundPattern two) {
|
||||||
|
return one.getStartPosition() == two.getStartPosition() &&
|
||||||
|
one.getEndPosition() == two.getEndPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user