From 126d8ae9fa70b129983bd497ca9a1296d8f48968 Mon Sep 17 00:00:00 2001 From: Arin <136636751+asapekia@users.noreply.github.com> Date: Sun, 1 Oct 2023 01:59:45 +0530 Subject: [PATCH 1/5] rewrote as parameterized tests --- .../searches/RabinKarpAlgorithmTest.java | 52 ++++--------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java index 6841fdac33f4..8be75dd7d897 100644 --- a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java +++ b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java @@ -2,55 +2,21 @@ import static org.junit.jupiter.api.Assertions.*; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; class RabinKarpAlgorithmTest { RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); int q = 101; - @Test - // valid test case - public void RabinKarpAlgorithmTestExample() { - String txt = "This is an example for rabin karp algorithmn"; - String pat = "algorithmn"; - int value = RKA.search(pat, txt, q); - assertEquals(value, 34); - } - - @Test - // valid test case - public void RabinKarpAlgorithmTestFront() { - String txt = "AAABBDDG"; - String pat = "AAA"; - int value = RKA.search(pat, txt, q); - assertEquals(value, 0); - } - - @Test - // valid test case - public void RabinKarpAlgorithmTestMiddle() { - String txt = "AAABBCCBB"; - String pat = "BBCC"; - int value = RKA.search(pat, txt, q); - assertEquals(value, 3); - } - - @Test - // valid test case - public void RabinKarpAlgorithmTestLast() { - String txt = "AAAABBBBCCC"; - String pat = "CCC"; - int value = RKA.search(pat, txt, q); - assertEquals(value, 8); - } + @ParameterizedTest + @CsvSource({ "This is an example for rabin karp algorithmn, algorithmn", "AAABBDDG, AAA", "AAABBCCBB, BBCC", + "AAAABBBBCCC, CCC", "ABCBCBCAAB, AADB" }) + void RabinKarpAlgorithmTestExample(String txt, String pat) { - @Test - // valid test case - public void RabinKarpAlgorithmTestNotFound() { - String txt = "ABCBCBCAAB"; - String pat = "AADB"; - int value = RKA.search(pat, txt, q); - assertEquals(value, -1); + int indexFromOurAlgorithm = RKA.search(pat, txt, q); + int indexFromLinearSearch = txt.indexOf(pat); + assertEquals(indexFromOurAlgorithm, indexFromLinearSearch); } } From 5caed218da2cc4bfbe3f5d7837c8e15133de3005 Mon Sep 17 00:00:00 2001 From: Arin <136636751+asapekia@users.noreply.github.com> Date: Sun, 1 Oct 2023 02:15:59 +0530 Subject: [PATCH 2/5] formatting issue resolved --- .../searches/RabinKarpAlgorithmTest.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java index 8be75dd7d897..150ba8164738 100644 --- a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java +++ b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java @@ -6,17 +6,22 @@ import org.junit.jupiter.params.provider.CsvSource; class RabinKarpAlgorithmTest { + RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); + int q = 101; - RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); - int q = 101; - - @ParameterizedTest - @CsvSource({ "This is an example for rabin karp algorithmn, algorithmn", "AAABBDDG, AAA", "AAABBCCBB, BBCC", - "AAAABBBBCCC, CCC", "ABCBCBCAAB, AADB" }) - void RabinKarpAlgorithmTestExample(String txt, String pat) { - + @ParameterizedTest + @CsvSource( + { + "This is an example for rabin karp algorithmn, algorithmn", + "AAABBDDG, AAA", + "AAABBCCBB, BBCC", + "AAAABBBBCCC, CCC", + "ABCBCBCAAB, AADB" + } + ) + void RabinKarpAlgorithmTestExample(String txt, String pat) { int indexFromOurAlgorithm = RKA.search(pat, txt, q); int indexFromLinearSearch = txt.indexOf(pat); assertEquals(indexFromOurAlgorithm, indexFromLinearSearch); - } + } } From ea6c68f9373f86ed97e5db0e1b9a696ac3506bb3 Mon Sep 17 00:00:00 2001 From: Arin <136636751+asapekia@users.noreply.github.com> Date: Sun, 1 Oct 2023 20:51:38 +0530 Subject: [PATCH 3/5] added test with different prime number q --- .../searches/RabinKarpAlgorithmTest.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java index 150ba8164738..2b3fe38f6f66 100644 --- a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java +++ b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java @@ -7,19 +7,19 @@ class RabinKarpAlgorithmTest { RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); - int q = 101; @ParameterizedTest @CsvSource( { - "This is an example for rabin karp algorithmn, algorithmn", - "AAABBDDG, AAA", - "AAABBCCBB, BBCC", - "AAAABBBBCCC, CCC", - "ABCBCBCAAB, AADB" + "This is an example for rabin karp algorithmn, algorithmn, 101", + "AAABBDDG, AAA, 137", + "AAABBCCBB, BBCC, 131", + "AAAABBBBCCC, CCC, 41", + "ABCBCBCAAB, AADB, 293", + "Algorithm The Algorithm, Algorithm, 101" } ) - void RabinKarpAlgorithmTestExample(String txt, String pat) { + void RabinKarpAlgorithmTestExample(String txt, String pat, int q) { int indexFromOurAlgorithm = RKA.search(pat, txt, q); int indexFromLinearSearch = txt.indexOf(pat); assertEquals(indexFromOurAlgorithm, indexFromLinearSearch); From 2276b72fd3d736633b94e7ffe3243ebad41c16b5 Mon Sep 17 00:00:00 2001 From: vil02 Date: Sun, 1 Oct 2023 17:34:22 +0200 Subject: [PATCH 4/5] style: run `clang-format` --- .../searches/RabinKarpAlgorithmTest.java | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java index 2b3fe38f6f66..32fdbc1e8a4a 100644 --- a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java +++ b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java @@ -6,22 +6,13 @@ import org.junit.jupiter.params.provider.CsvSource; class RabinKarpAlgorithmTest { - RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); + RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); - @ParameterizedTest - @CsvSource( - { - "This is an example for rabin karp algorithmn, algorithmn, 101", - "AAABBDDG, AAA, 137", - "AAABBCCBB, BBCC, 131", - "AAAABBBBCCC, CCC, 41", - "ABCBCBCAAB, AADB, 293", - "Algorithm The Algorithm, Algorithm, 101" + @ParameterizedTest + @CsvSource({"This is an example for rabin karp algorithmn, algorithmn, 101", "AAABBDDG, AAA, 137", "AAABBCCBB, BBCC, 131", "AAAABBBBCCC, CCC, 41", "ABCBCBCAAB, AADB, 293", "Algorithm The Algorithm, Algorithm, 101"}) + void RabinKarpAlgorithmTestExample(String txt, String pat, int q) { + int indexFromOurAlgorithm = RKA.search(pat, txt, q); + int indexFromLinearSearch = txt.indexOf(pat); + assertEquals(indexFromOurAlgorithm, indexFromLinearSearch); } - ) - void RabinKarpAlgorithmTestExample(String txt, String pat, int q) { - int indexFromOurAlgorithm = RKA.search(pat, txt, q); - int indexFromLinearSearch = txt.indexOf(pat); - assertEquals(indexFromOurAlgorithm, indexFromLinearSearch); - } } From 723d56da6b5cb77814016da3e4a37751bba32a22 Mon Sep 17 00:00:00 2001 From: vil02 Date: Sun, 1 Oct 2023 18:02:00 +0200 Subject: [PATCH 5/5] tests: add missing test case --- .../com/thealgorithms/searches/RabinKarpAlgorithmTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java index 32fdbc1e8a4a..4689dccf08fd 100644 --- a/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java +++ b/src/test/java/com/thealgorithms/searches/RabinKarpAlgorithmTest.java @@ -1,6 +1,6 @@ package com.thealgorithms.searches; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; @@ -9,7 +9,7 @@ class RabinKarpAlgorithmTest { RabinKarpAlgorithm RKA = new RabinKarpAlgorithm(); @ParameterizedTest - @CsvSource({"This is an example for rabin karp algorithmn, algorithmn, 101", "AAABBDDG, AAA, 137", "AAABBCCBB, BBCC, 131", "AAAABBBBCCC, CCC, 41", "ABCBCBCAAB, AADB, 293", "Algorithm The Algorithm, Algorithm, 101"}) + @CsvSource({"This is an example for rabin karp algorithmn, algorithmn, 101", "AAABBDDG, AAA, 137", "AAABBCCBB, BBCC, 101", "AAABBCCBB, BBCC, 131", "AAAABBBBCCC, CCC, 41", "ABCBCBCAAB, AADB, 293", "Algorithm The Algorithm, Algorithm, 101"}) void RabinKarpAlgorithmTestExample(String txt, String pat, int q) { int indexFromOurAlgorithm = RKA.search(pat, txt, q); int indexFromLinearSearch = txt.indexOf(pat);