summaryrefslogtreecommitdiff
path: root/src/test/HashSubstringTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/HashSubstringTest.java')
-rw-r--r--src/test/HashSubstringTest.java52
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