diff options
Diffstat (limited to 'src/test/HashSubstringTest.java')
-rw-r--r-- | src/test/HashSubstringTest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/test/HashSubstringTest.java b/src/test/HashSubstringTest.java new file mode 100644 index 0000000..854b329 --- /dev/null +++ b/src/test/HashSubstringTest.java @@ -0,0 +1,52 @@ +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class HashSubstringTest { + @Test + void test() { + HashSubstring.Data data = new HashSubstring.Data("aba", "abacaba"); + assertEquals(2, HashSubstring.getOccurrences(data).size()); + assertEquals(0, HashSubstring.getOccurrences(data).get(0)); + assertEquals(4, HashSubstring.getOccurrences(data).get(1)); + + List<Integer> postions = HashSubstring.rabinKarp("a", "ab"); + assertEquals(1, postions.size()); + assertEquals(0, postions.get(0)); + + postions = HashSubstring.rabinKarp("a", "ba"); + assertEquals(1, postions.size()); + assertEquals(1, postions.get(0)); + + postions = HashSubstring.rabinKarp("aba", "abacaba"); + assertEquals(2, postions.size()); + assertEquals(0, postions.get(0)); + assertEquals(4, postions.get(1)); + } + + @Test + void test1() { + HashSubstring.Data data = new HashSubstring.Data("Test", "testTesttesT"); + assertEquals(1, HashSubstring.getOccurrences(data).size()); + assertEquals(4, HashSubstring.getOccurrences(data).get(0)); + List<Integer> postions = HashSubstring.rabinKarp("Test", "testTesttesT"); + assertEquals(1, postions.size()); + assertEquals(4, postions.get(0)); + } + + @Test + void test2() { + HashSubstring.Data data = new HashSubstring.Data("aaaaa", "baaaaaaa"); + assertEquals(3, HashSubstring.getOccurrences(data).size()); + assertEquals(1, HashSubstring.getOccurrences(data).get(0)); + assertEquals(2, HashSubstring.getOccurrences(data).get(1)); + assertEquals(3, HashSubstring.getOccurrences(data).get(2)); + List<Integer> positions = HashSubstring.rabinKarp("aaaaa", "baaaaaaa"); + assertEquals(3, positions.size()); + assertEquals(1, positions.get(0)); + assertEquals(2, positions.get(1)); + assertEquals(3, positions.get(2)); + } +}
\ No newline at end of file |