Skip to content

Commit 8ab930d

Browse files
author
Divyansh Saxena
committed
now build failed error resolved
1 parent 79f52ae commit 8ab930d

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

src/test/java/com/thealgorithms/strings/KMPTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77

88
public class KMPTest {
99

10+
@Test
11+
public void testNullInputs() {
12+
assertEquals(List.of(), KMP.kmpMatcher(null, "A"));
13+
assertEquals(List.of(), KMP.kmpMatcher("A", null));
14+
assertEquals(List.of(), KMP.kmpMatcher(null, null));
15+
}
16+
1017
@Test
1118
public void testKMPMatcher() {
1219
assertEquals(List.of(0, 1), KMP.kmpMatcher("AAAAABAAABA", "AAAA"));

src/test/java/com/thealgorithms/strings/RabinKarpTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,30 @@
77

88
public class RabinKarpTest {
99

10+
@Test
11+
public void testNullInputs() {
12+
assertEquals(List.of(), RabinKarp.search(null, "A"));
13+
assertEquals(List.of(), RabinKarp.search("A", null));
14+
assertEquals(List.of(), RabinKarp.search(null, null));
15+
}
16+
17+
@Test
18+
public void testHashCollision() {
19+
// 'a' = 97. (char)198 % 101 = 97.
20+
// For length 1, h = 1. p = 97. t = 198 % 101 = 97.
21+
// Collision occurs, loop checks characters: 198 != 97, breaks.
22+
char collisionChar = (char) 198;
23+
String text = String.valueOf(collisionChar);
24+
String pattern = "a";
25+
assertEquals(List.of(), RabinKarp.search(text, pattern));
26+
}
27+
28+
@Test
29+
public void testSearchWithCustomQ() {
30+
// Using a different prime
31+
assertEquals(List.of(0, 1), RabinKarp.search("AAAA", "AAA", 13));
32+
}
33+
1034
@Test
1135
public void testRabinKarpSearch() {
1236
assertEquals(List.of(0, 1), RabinKarp.search("AAAAABAAABA", "AAAA"));

0 commit comments

Comments
 (0)