Skip to content

Commit 0883eb8

Browse files
committed
ref: remove duplicated test data
1 parent 46a4167 commit 0883eb8

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

src/test/java/com/thealgorithms/dynamicprogramming/LevenshteinDistanceTests.java

+11-14
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,23 @@
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
44

5+
import java.util.stream.Stream;
56
import org.junit.jupiter.params.ParameterizedTest;
6-
import org.junit.jupiter.params.provider.CsvSource;
7+
import org.junit.jupiter.params.provider.Arguments;
8+
import org.junit.jupiter.params.provider.MethodSource;
79

810
public class LevenshteinDistanceTests {
11+
private static final Object[][] TEST_CASES
12+
= {{0, "", ""}, {0, "Hello, World!", "Hello, World!"}, {4, "", "Rust"}, {3, "horse", "ros"}, {6, "tan", "elephant"}, {8, "execute", "intention"}, {0, "", ""}, {0, "Hello, World!", "Hello, World!"}, {4, "", "Rust"}, {3, "horse", "ros"}, {6, "tan", "elephant"}, {8, "execute", "intention"}};
913

1014
@ParameterizedTest
11-
@CsvSource({// String 1, String 2, Expected Distance
12-
"'', '', 0", "'Hello, World!', 'Hello, World!', 0", "'', 'Rust', 4", "horse, ros, 3", "tan, elephant, 6", "execute, intention, 8"})
13-
void
14-
naiveLevenshteinDistanceTest(String str1, String str2, int expectedDistance) {
15-
int result = LevenshteinDistance.naiveLevenshteinDistance(str1, str2);
16-
assertEquals(expectedDistance, result);
15+
@MethodSource("testCases")
16+
void testLevenshteinDistance(int expectedDistance, String str1, String str2) {
17+
assertEquals(expectedDistance, LevenshteinDistance.naiveLevenshteinDistance(str1, str2));
18+
assertEquals(expectedDistance, LevenshteinDistance.optimizedLevenshteinDistance(str1, str2));
1719
}
1820

19-
@ParameterizedTest
20-
@CsvSource({// String 1, String 2, Expected Distance
21-
"'', '', 0", "'Hello, World!', 'Hello, World!', 0", "'', 'Rust', 4", "horse, ros, 3", "tan, elephant, 6", "execute, intention, 8"})
22-
void
23-
optimizedLevenshteinDistanceTest(String str1, String str2, int expectedDistance) {
24-
int result = LevenshteinDistance.optimizedLevenshteinDistance(str1, str2);
25-
assertEquals(expectedDistance, result);
21+
private static Stream<Arguments> testCases() {
22+
return Stream.of(TEST_CASES).map(args -> Arguments.of(args[0], args[1], args[2]));
2623
}
2724
}

0 commit comments

Comments
 (0)