From 5f1fc777fd9c083806ff72a12706f112977d92cb Mon Sep 17 00:00:00 2001 From: alxkm Date: Mon, 26 Aug 2024 00:24:57 +0200 Subject: [PATCH 1/2] test: EditDistanceTest --- .../dynamicprogramming/EditDistance.java | 15 --------------- .../dynamicprogramming/EditDistanceTest.java | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/EditDistance.java b/src/main/java/com/thealgorithms/dynamicprogramming/EditDistance.java index 55ce50d30ea4..020d15197b28 100644 --- a/src/main/java/com/thealgorithms/dynamicprogramming/EditDistance.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/EditDistance.java @@ -1,6 +1,5 @@ package com.thealgorithms.dynamicprogramming; -import java.util.Scanner; /** * A DynamicProgramming based solution for Edit Distance problem In Java * Description of Edit Distance with an Example: @@ -68,20 +67,6 @@ then take the minimum of the various operations(i.e insertion,removal,substituti return dp[len1][len2]; } - public static void main(String[] args) { - Scanner input = new Scanner(System.in); - String s1; - String s2; - System.out.println("Enter the First String"); - s1 = input.nextLine(); - System.out.println("Enter the Second String"); - s2 = input.nextLine(); - // ans stores the final Edit Distance between the two strings - int ans = minDistance(s1, s2); - System.out.println("The minimum Edit Distance between \"" + s1 + "\" and \"" + s2 + "\" is " + ans); - input.close(); - } - // edit distance problem public static int editDistance(String s1, String s2) { int[][] storage = new int[s1.length() + 1][s2.length() + 1]; diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java new file mode 100644 index 000000000000..48e6b4bdc8c8 --- /dev/null +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -0,0 +1,15 @@ +package com.thealgorithms.dynamicprogramming; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class EditDistanceTest { + + @ParameterizedTest + @CsvSource({"'', '', 0", "'abc', '', 3", "'', 'abcd', 4", "'same', 'same', 0", "'a', 'b', 1", "'abc', 'abd', 1"}) + void testMinDistance(String str1, String str2, int expected) { + assertEquals(expected, EditDistance.minDistance(str1, str2)); + } +} From 933b6e4f18b06e6a20f468a498eab35ea4653633 Mon Sep 17 00:00:00 2001 From: alxkm Date: Mon, 26 Aug 2024 00:27:04 +0200 Subject: [PATCH 2/2] checkstyle: fix import ordering --- .../thealgorithms/dynamicprogramming/EditDistanceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 48e6b4bdc8c8..267be9b056de 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -1,10 +1,10 @@ package com.thealgorithms.dynamicprogramming; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; -import static org.junit.jupiter.api.Assertions.assertEquals; - public class EditDistanceTest { @ParameterizedTest