From 146386ee29abb96f3537435529fdeef9cd8e38c9 Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 14:40:17 +0700 Subject: [PATCH 1/8] Add unit test for com.thealgorithms.dynamicprogramming.EditDistance --- .../dynamicprogramming/EditDistanceTest.java | 141 +++++++++++++++++- 1 file changed, 139 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 267be9b056de..85685dbf55ae 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -1,10 +1,12 @@ package com.thealgorithms.dynamicprogramming; -import static org.junit.jupiter.api.Assertions.assertEquals; - +import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertAll; + public class EditDistanceTest { @ParameterizedTest @@ -12,4 +14,139 @@ public class EditDistanceTest { void testMinDistance(String str1, String str2, int expected) { assertEquals(expected, EditDistance.minDistance(str1, str2)); } + + @Test + void testEditDistanceStringNull() { + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance(null, "abc"); + }); + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance("abc", null); + }); + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance(null, null); + }); + } + + @Test + void testEditDistanceStringEmpty() { + int expected = 0; + assertEquals(0, EditDistance.editDistance("", "")); + String s1 = "abc"; + expected = s1.length(); + assertEquals(expected, EditDistance.editDistance(s1, "")); + String s2 = "aa"; + expected = s2.length(); + assertEquals(expected, EditDistance.editDistance("", s2)); + } + + @Test + void testEditDistance_NullValue() { + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance(null, "hello"); + }); + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance("hello", null); + }); + assertThrows(NullPointerException.class, () -> { + EditDistance.editDistance(null, null); + }); + } + + @Test + public void testEditDistance_BothEmptyStrings() { + assertEquals(0, EditDistance.editDistance("", "")); + } + + @Test + public void testEditDistance_OneEmptyString() { + assertEquals(5, EditDistance.editDistance("", "hello")); + assertEquals(7, EditDistance.editDistance("worldly", "")); + } + + @Test + public void testEditDistance_OneEmptyString_Memoization() { + int[][] storage = new int[1][6]; + ; + assertAll("String assertions", + () -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), + () -> assertEquals(0, storage[0][0]), + () -> assertEquals(0, storage[0][1]), + () -> assertEquals(0, storage[0][2]), + () -> assertEquals(0, storage[0][3]), + () -> assertEquals(0, storage[0][4]), + () -> assertEquals(5, storage[0][5]) + ); + } + + @Test + public void testEditDistance_EqualStrings() { + assertEquals(0, EditDistance.editDistance("test", "test")); + assertEquals(0, EditDistance.editDistance("abc", "abc")); + } + + @Test + public void testEditDistance_EqualStrings_Memoization() { + int[][] storage = new int[4][4]; + assertAll("String assertions", + () -> assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), + () -> assertEquals(0, storage[0][0]), + () -> assertEquals(0, storage[0][1]), + () -> assertEquals(0, storage[0][2]), + () -> assertEquals(0, storage[0][3]), + () -> assertEquals(0, storage[1][0]), + () -> assertEquals(0, storage[1][1]), + () -> assertEquals(0, storage[1][2]), + () -> assertEquals(0, storage[1][3]), + () -> assertEquals(0, storage[2][0]), + () -> assertEquals(0, storage[2][1]), + () -> assertEquals(0, storage[2][2]), + () -> assertEquals(0, storage[2][3]), + () -> assertEquals(0, storage[3][0]), + () -> assertEquals(0, storage[3][1]), + () -> assertEquals(0, storage[3][2]), + () -> assertEquals(0, storage[3][3]) + ); + } + + @Test + public void testEditDistance_OneCharacterDifference() { + assertEquals(1, EditDistance.editDistance("cat", "bat")); + assertEquals(1, EditDistance.editDistance("cat", "cats")); + assertEquals(1, EditDistance.editDistance("cats", "cat")); + } + + @Test + public void testEditDistance_OneCharacterDifference_Memoization() { + int[][] storage = new int[3][3]; + assertAll("All assertions", + () -> assertEquals(1, EditDistance.editDistance("at", "it", storage)), + () -> assertEquals(0, storage[0][0]), + () -> assertEquals(1, storage[0][1]), + () -> assertEquals(2, storage[0][2]), + () -> assertEquals(1, storage[1][0]), + () -> assertEquals(0, storage[1][1]), + () -> assertEquals(1, storage[1][2]), + () -> assertEquals(2, storage[2][0]), + () -> assertEquals(1, storage[2][1]), + () -> assertEquals(1, storage[2][2]) + ); + } + + @Test + public void testEditDistance_GeneralCases() { + assertEquals(3, EditDistance.editDistance("kitten", "sitting")); + assertEquals(2, EditDistance.editDistance("flaw", "lawn")); + assertEquals(5, EditDistance.editDistance("intention", "execution")); + } + + @Test + public void testEditDistance_GeneralCases_Memoization() { + int[][] storage = new int[7][8]; + assertEquals(3, EditDistance.editDistance("kitten", "sitting", storage)); + assertAll("All assertions", + () -> assertEquals(0, storage[0][0]), + () -> assertEquals(3, storage[6][7]) + ); + } } From 5d88875de5dd232d2bebd47beacad27b7a8235d1 Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 14:53:45 +0700 Subject: [PATCH 2/8] Edit format --- .../dynamicprogramming/EditDistanceTest.java | 101 +++++++----------- 1 file changed, 41 insertions(+), 60 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 85685dbf55ae..029e7eed048e 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -1,12 +1,12 @@ package com.thealgorithms.dynamicprogramming; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertAll; + import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; -import static org.junit.jupiter.api.Assertions.*; -import static org.junit.jupiter.api.Assertions.assertAll; - public class EditDistanceTest { @ParameterizedTest @@ -17,15 +17,9 @@ void testMinDistance(String str1, String str2, int expected) { @Test void testEditDistanceStringNull() { - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance(null, "abc"); - }); - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance("abc", null); - }); - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance(null, null); - }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, "abc"); }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance("abc", null); }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, null); }); } @Test @@ -42,15 +36,9 @@ void testEditDistanceStringEmpty() { @Test void testEditDistance_NullValue() { - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance(null, "hello"); - }); - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance("hello", null); - }); - assertThrows(NullPointerException.class, () -> { - EditDistance.editDistance(null, null); - }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, "hello"); }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance("hello", null); }); + assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, null); }); } @Test @@ -67,15 +55,10 @@ public void testEditDistance_OneEmptyString() { @Test public void testEditDistance_OneEmptyString_Memoization() { int[][] storage = new int[1][6]; - ; assertAll("String assertions", - () -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), - () -> assertEquals(0, storage[0][0]), - () -> assertEquals(0, storage[0][1]), - () -> assertEquals(0, storage[0][2]), - () -> assertEquals(0, storage[0][3]), - () -> assertEquals(0, storage[0][4]), - () -> assertEquals(5, storage[0][5]) + () + -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), + () -> assertEquals(0, storage[0][0]), () -> assertEquals(0, storage[0][1]), () -> assertEquals(0, storage[0][2]), () -> assertEquals(0, storage[0][3]), () -> assertEquals(0, storage[0][4]), () -> assertEquals(5, storage[0][5]) ); } @@ -89,23 +72,27 @@ public void testEditDistance_EqualStrings() { public void testEditDistance_EqualStrings_Memoization() { int[][] storage = new int[4][4]; assertAll("String assertions", - () -> assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), - () -> assertEquals(0, storage[0][0]), - () -> assertEquals(0, storage[0][1]), - () -> assertEquals(0, storage[0][2]), - () -> assertEquals(0, storage[0][3]), - () -> assertEquals(0, storage[1][0]), - () -> assertEquals(0, storage[1][1]), - () -> assertEquals(0, storage[1][2]), - () -> assertEquals(0, storage[1][3]), - () -> assertEquals(0, storage[2][0]), - () -> assertEquals(0, storage[2][1]), - () -> assertEquals(0, storage[2][2]), - () -> assertEquals(0, storage[2][3]), - () -> assertEquals(0, storage[3][0]), - () -> assertEquals(0, storage[3][1]), - () -> assertEquals(0, storage[3][2]), - () -> assertEquals(0, storage[3][3]) + () -> + assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), + () -> + assertEquals(0, storage[0][0]), + () -> + assertEquals(0, storage[0][1]), + () -> + assertEquals(0, storage[0][2]), + () -> + assertEquals(0, storage[0][3]), + () -> + assertEquals(0, storage[1][0]), + () -> + assertEquals(0, storage[1][1]), + () -> + assertEquals(0, storage[1][2]), + () -> + assertEquals(0, storage[1][3]), + () -> + assertEquals(0, storage[2][0]), + () -> assertEquals(0, storage[2][1]), () -> assertEquals(0, storage[2][2]), () -> assertEquals(0, storage[2][3]), () -> assertEquals(0, storage[3][0]), () -> assertEquals(0, storage[3][1]), () -> assertEquals(0, storage[3][2]), () -> assertEquals(0, storage[3][3]) ); } @@ -120,16 +107,13 @@ public void testEditDistance_OneCharacterDifference() { public void testEditDistance_OneCharacterDifference_Memoization() { int[][] storage = new int[3][3]; assertAll("All assertions", - () -> assertEquals(1, EditDistance.editDistance("at", "it", storage)), - () -> assertEquals(0, storage[0][0]), - () -> assertEquals(1, storage[0][1]), - () -> assertEquals(2, storage[0][2]), - () -> assertEquals(1, storage[1][0]), - () -> assertEquals(0, storage[1][1]), - () -> assertEquals(1, storage[1][2]), - () -> assertEquals(2, storage[2][0]), - () -> assertEquals(1, storage[2][1]), - () -> assertEquals(1, storage[2][2]) + () -> + assertEquals(1, EditDistance.editDistance("at", "it", storage)), + () -> + assertEquals(0, storage[0][0]), + () -> + assertEquals(1, storage[0][1]), + () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) ); } @@ -144,9 +128,6 @@ public void testEditDistance_GeneralCases() { public void testEditDistance_GeneralCases_Memoization() { int[][] storage = new int[7][8]; assertEquals(3, EditDistance.editDistance("kitten", "sitting", storage)); - assertAll("All assertions", - () -> assertEquals(0, storage[0][0]), - () -> assertEquals(3, storage[6][7]) - ); + assertAll("All assertions", () -> assertEquals(0, storage[0][0]), () -> assertEquals(3, storage[6][7])); } } From a37dc4fee8816ff213d800d13b53784826bc18ad Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 14:59:01 +0700 Subject: [PATCH 3/8] Update format --- .../dynamicprogramming/EditDistanceTest.java | 63 +++++++++---------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 029e7eed048e..63ed8ac9f58a 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -56,10 +56,9 @@ public void testEditDistance_OneEmptyString() { public void testEditDistance_OneEmptyString_Memoization() { int[][] storage = new int[1][6]; assertAll("String assertions", - () - -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), - () -> assertEquals(0, storage[0][0]), () -> assertEquals(0, storage[0][1]), () -> assertEquals(0, storage[0][2]), () -> assertEquals(0, storage[0][3]), () -> assertEquals(0, storage[0][4]), () -> assertEquals(5, storage[0][5]) - ); + () + -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), + () -> assertEquals(0, storage[0][0]), () -> assertEquals(0, storage[0][1]), () -> assertEquals(0, storage[0][2]), () -> assertEquals(0, storage[0][3]), () -> assertEquals(0, storage[0][4]), () -> assertEquals(5, storage[0][5])); } @Test @@ -72,27 +71,27 @@ public void testEditDistance_EqualStrings() { public void testEditDistance_EqualStrings_Memoization() { int[][] storage = new int[4][4]; assertAll("String assertions", - () -> - assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), - () -> - assertEquals(0, storage[0][0]), - () -> - assertEquals(0, storage[0][1]), - () -> - assertEquals(0, storage[0][2]), - () -> - assertEquals(0, storage[0][3]), - () -> - assertEquals(0, storage[1][0]), - () -> - assertEquals(0, storage[1][1]), - () -> - assertEquals(0, storage[1][2]), - () -> - assertEquals(0, storage[1][3]), - () -> - assertEquals(0, storage[2][0]), - () -> assertEquals(0, storage[2][1]), () -> assertEquals(0, storage[2][2]), () -> assertEquals(0, storage[2][3]), () -> assertEquals(0, storage[3][0]), () -> assertEquals(0, storage[3][1]), () -> assertEquals(0, storage[3][2]), () -> assertEquals(0, storage[3][3]) + () + -> assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), + () + -> assertEquals(0, storage[0][0]), + () + -> assertEquals(0, storage[0][1]), + () + -> assertEquals(0, storage[0][2]), + () + -> assertEquals(0, storage[0][3]), + () + -> assertEquals(0, storage[1][0]), + () + -> assertEquals(0, storage[1][1]), + () + -> assertEquals(0, storage[1][2]), + () + -> assertEquals(0, storage[1][3]), + () + -> assertEquals(0, storage[2][0]), + () -> assertEquals(0, storage[2][1]), () -> assertEquals(0, storage[2][2]), () -> assertEquals(0, storage[2][3]), () -> assertEquals(0, storage[3][0]), () -> assertEquals(0, storage[3][1]), () -> assertEquals(0, storage[3][2]), () -> assertEquals(0, storage[3][3]) ); } @@ -107,13 +106,13 @@ public void testEditDistance_OneCharacterDifference() { public void testEditDistance_OneCharacterDifference_Memoization() { int[][] storage = new int[3][3]; assertAll("All assertions", - () -> - assertEquals(1, EditDistance.editDistance("at", "it", storage)), - () -> - assertEquals(0, storage[0][0]), - () -> - assertEquals(1, storage[0][1]), - () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) + () + -> assertEquals(1, EditDistance.editDistance("at", "it", storage)), + () + -> assertEquals(0, storage[0][0]), + () + -> assertEquals(1, storage[0][1]), + () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) ); } From 3d23fd7a4089e75df6d9e69d6afb22851d2b8005 Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 15:02:10 +0700 Subject: [PATCH 4/8] Update format --- .../dynamicprogramming/EditDistanceTest.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 63ed8ac9f58a..26141179c32c 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -57,7 +57,7 @@ public void testEditDistance_OneEmptyString_Memoization() { int[][] storage = new int[1][6]; assertAll("String assertions", () - -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), + -> assertEquals(5, EditDistance.editDistance("", "hello", storage)), () -> assertEquals(0, storage[0][0]), () -> assertEquals(0, storage[0][1]), () -> assertEquals(0, storage[0][2]), () -> assertEquals(0, storage[0][3]), () -> assertEquals(0, storage[0][4]), () -> assertEquals(5, storage[0][5])); } @@ -72,27 +72,26 @@ public void testEditDistance_EqualStrings_Memoization() { int[][] storage = new int[4][4]; assertAll("String assertions", () - -> assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), + -> assertEquals(0, EditDistance.editDistance("abc", "abc", storage)), () - -> assertEquals(0, storage[0][0]), + -> assertEquals(0, storage[0][0]), () - -> assertEquals(0, storage[0][1]), + -> assertEquals(0, storage[0][1]), () - -> assertEquals(0, storage[0][2]), + -> assertEquals(0, storage[0][2]), () - -> assertEquals(0, storage[0][3]), + -> assertEquals(0, storage[0][3]), () - -> assertEquals(0, storage[1][0]), + -> assertEquals(0, storage[1][0]), () - -> assertEquals(0, storage[1][1]), + -> assertEquals(0, storage[1][1]), () - -> assertEquals(0, storage[1][2]), + -> assertEquals(0, storage[1][2]), () - -> assertEquals(0, storage[1][3]), + -> assertEquals(0, storage[1][3]), () - -> assertEquals(0, storage[2][0]), - () -> assertEquals(0, storage[2][1]), () -> assertEquals(0, storage[2][2]), () -> assertEquals(0, storage[2][3]), () -> assertEquals(0, storage[3][0]), () -> assertEquals(0, storage[3][1]), () -> assertEquals(0, storage[3][2]), () -> assertEquals(0, storage[3][3]) - ); + -> assertEquals(0, storage[2][0]), + () -> assertEquals(0, storage[2][1]), () -> assertEquals(0, storage[2][2]), () -> assertEquals(0, storage[2][3]), () -> assertEquals(0, storage[3][0]), () -> assertEquals(0, storage[3][1]), () -> assertEquals(0, storage[3][2]), () -> assertEquals(0, storage[3][3])); } @Test @@ -112,8 +111,7 @@ public void testEditDistance_OneCharacterDifference_Memoization() { -> assertEquals(0, storage[0][0]), () -> assertEquals(1, storage[0][1]), - () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) - ); + () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) ); } @Test From 894feeb3aec0dcd8e217d6642283f1115959e995 Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 15:04:30 +0700 Subject: [PATCH 5/8] Update format --- .../com/thealgorithms/dynamicprogramming/EditDistanceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 26141179c32c..38d696ac02c0 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -111,7 +111,7 @@ public void testEditDistance_OneCharacterDifference_Memoization() { -> assertEquals(0, storage[0][0]), () -> assertEquals(1, storage[0][1]), - () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2]) ); + () -> assertEquals(2, storage[0][2]), () -> assertEquals(1, storage[1][0]), () -> assertEquals(0, storage[1][1]), () -> assertEquals(1, storage[1][2]), () -> assertEquals(2, storage[2][0]), () -> assertEquals(1, storage[2][1]), () -> assertEquals(1, storage[2][2])); } @Test From 84597dfbce2405abd39ae0e9680f31010f492a56 Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 15:09:35 +0700 Subject: [PATCH 6/8] Update convention and import --- .../dynamicprogramming/EditDistanceTest.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index 38d696ac02c0..b2c2ede90923 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -1,7 +1,8 @@ package com.thealgorithms.dynamicprogramming; -import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertAll; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; @@ -35,25 +36,25 @@ void testEditDistanceStringEmpty() { } @Test - void testEditDistance_NullValue() { + void testEditDistanceNullValue() { assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, "hello"); }); assertThrows(NullPointerException.class, () -> { EditDistance.editDistance("hello", null); }); assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, null); }); } @Test - public void testEditDistance_BothEmptyStrings() { + public void testEditDistanceBothEmptyStrings() { assertEquals(0, EditDistance.editDistance("", "")); } @Test - public void testEditDistance_OneEmptyString() { + public void testEditDistanceOneEmptyString() { assertEquals(5, EditDistance.editDistance("", "hello")); assertEquals(7, EditDistance.editDistance("worldly", "")); } @Test - public void testEditDistance_OneEmptyString_Memoization() { + public void testEditDistanceOneEmptyStringMemoization() { int[][] storage = new int[1][6]; assertAll("String assertions", () @@ -62,13 +63,13 @@ public void testEditDistance_OneEmptyString_Memoization() { } @Test - public void testEditDistance_EqualStrings() { + public void testEditDistanceEqualStrings() { assertEquals(0, EditDistance.editDistance("test", "test")); assertEquals(0, EditDistance.editDistance("abc", "abc")); } @Test - public void testEditDistance_EqualStrings_Memoization() { + public void testEditDistanceEqualStringsMemoization() { int[][] storage = new int[4][4]; assertAll("String assertions", () @@ -95,14 +96,14 @@ public void testEditDistance_EqualStrings_Memoization() { } @Test - public void testEditDistance_OneCharacterDifference() { + public void testEditDistanceOneCharacterDifference() { assertEquals(1, EditDistance.editDistance("cat", "bat")); assertEquals(1, EditDistance.editDistance("cat", "cats")); assertEquals(1, EditDistance.editDistance("cats", "cat")); } @Test - public void testEditDistance_OneCharacterDifference_Memoization() { + public void testEditDistanceOneCharacterDifferenceMemoization() { int[][] storage = new int[3][3]; assertAll("All assertions", () @@ -115,14 +116,14 @@ public void testEditDistance_OneCharacterDifference_Memoization() { } @Test - public void testEditDistance_GeneralCases() { + public void testEditDistanceGeneralCases() { assertEquals(3, EditDistance.editDistance("kitten", "sitting")); assertEquals(2, EditDistance.editDistance("flaw", "lawn")); assertEquals(5, EditDistance.editDistance("intention", "execution")); } @Test - public void testEditDistance_GeneralCases_Memoization() { + public void testEditDistanceGeneralCasesMemoization() { int[][] storage = new int[7][8]; assertEquals(3, EditDistance.editDistance("kitten", "sitting", storage)); assertAll("All assertions", () -> assertEquals(0, storage[0][0]), () -> assertEquals(3, storage[6][7])); From 6e8bc1191b58f77fc3a2745ba2b6aeb27a1d85da Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 15:15:03 +0700 Subject: [PATCH 7/8] Remove null test --- .../dynamicprogramming/EditDistanceTest.java | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index b2c2ede90923..b3b6366ac860 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -16,32 +16,6 @@ void testMinDistance(String str1, String str2, int expected) { assertEquals(expected, EditDistance.minDistance(str1, str2)); } - @Test - void testEditDistanceStringNull() { - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, "abc"); }); - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance("abc", null); }); - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, null); }); - } - - @Test - void testEditDistanceStringEmpty() { - int expected = 0; - assertEquals(0, EditDistance.editDistance("", "")); - String s1 = "abc"; - expected = s1.length(); - assertEquals(expected, EditDistance.editDistance(s1, "")); - String s2 = "aa"; - expected = s2.length(); - assertEquals(expected, EditDistance.editDistance("", s2)); - } - - @Test - void testEditDistanceNullValue() { - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, "hello"); }); - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance("hello", null); }); - assertThrows(NullPointerException.class, () -> { EditDistance.editDistance(null, null); }); - } - @Test public void testEditDistanceBothEmptyStrings() { assertEquals(0, EditDistance.editDistance("", "")); From 33dd8f5652661e6421edfeebb65c336653b892ec Mon Sep 17 00:00:00 2001 From: Phat Date: Sat, 21 Dec 2024 15:23:13 +0700 Subject: [PATCH 8/8] remove redundant import --- .../com/thealgorithms/dynamicprogramming/EditDistanceTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java index b3b6366ac860..737e8d1d0918 100644 --- a/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java @@ -2,7 +2,6 @@ import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest;