1
1
package com .thealgorithms .dynamicprogramming ;
2
2
3
+ import static org .junit .jupiter .api .Assertions .*;
4
+ import static org .junit .jupiter .api .Assertions .assertAll ;
5
+
3
6
import org .junit .jupiter .api .Test ;
4
7
import org .junit .jupiter .params .ParameterizedTest ;
5
8
import org .junit .jupiter .params .provider .CsvSource ;
6
9
7
- import static org .junit .jupiter .api .Assertions .*;
8
- import static org .junit .jupiter .api .Assertions .assertAll ;
9
-
10
10
public class EditDistanceTest {
11
11
12
12
@ ParameterizedTest
@@ -17,15 +17,9 @@ void testMinDistance(String str1, String str2, int expected) {
17
17
18
18
@ Test
19
19
void testEditDistanceStringNull () {
20
- assertThrows (NullPointerException .class , () -> {
21
- EditDistance .editDistance (null , "abc" );
22
- });
23
- assertThrows (NullPointerException .class , () -> {
24
- EditDistance .editDistance ("abc" , null );
25
- });
26
- assertThrows (NullPointerException .class , () -> {
27
- EditDistance .editDistance (null , null );
28
- });
20
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance (null , "abc" ); });
21
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance ("abc" , null ); });
22
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance (null , null ); });
29
23
}
30
24
31
25
@ Test
@@ -42,15 +36,9 @@ void testEditDistanceStringEmpty() {
42
36
43
37
@ Test
44
38
void testEditDistance_NullValue () {
45
- assertThrows (NullPointerException .class , () -> {
46
- EditDistance .editDistance (null , "hello" );
47
- });
48
- assertThrows (NullPointerException .class , () -> {
49
- EditDistance .editDistance ("hello" , null );
50
- });
51
- assertThrows (NullPointerException .class , () -> {
52
- EditDistance .editDistance (null , null );
53
- });
39
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance (null , "hello" ); });
40
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance ("hello" , null ); });
41
+ assertThrows (NullPointerException .class , () -> { EditDistance .editDistance (null , null ); });
54
42
}
55
43
56
44
@ Test
@@ -67,15 +55,10 @@ public void testEditDistance_OneEmptyString() {
67
55
@ Test
68
56
public void testEditDistance_OneEmptyString_Memoization () {
69
57
int [][] storage = new int [1 ][6 ];
70
- ;
71
58
assertAll ("String assertions" ,
72
- () -> assertEquals (5 , EditDistance .editDistance ("" , "hello" , storage )),
73
- () -> assertEquals (0 , storage [0 ][0 ]),
74
- () -> assertEquals (0 , storage [0 ][1 ]),
75
- () -> assertEquals (0 , storage [0 ][2 ]),
76
- () -> assertEquals (0 , storage [0 ][3 ]),
77
- () -> assertEquals (0 , storage [0 ][4 ]),
78
- () -> assertEquals (5 , storage [0 ][5 ])
59
+ ()
60
+ -> assertEquals (5 , EditDistance .editDistance ("" , "hello" , storage )),
61
+ () -> 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 ])
79
62
);
80
63
}
81
64
@@ -89,23 +72,27 @@ public void testEditDistance_EqualStrings() {
89
72
public void testEditDistance_EqualStrings_Memoization () {
90
73
int [][] storage = new int [4 ][4 ];
91
74
assertAll ("String assertions" ,
92
- () -> assertEquals (0 , EditDistance .editDistance ("abc" , "abc" , storage )),
93
- () -> assertEquals (0 , storage [0 ][0 ]),
94
- () -> assertEquals (0 , storage [0 ][1 ]),
95
- () -> assertEquals (0 , storage [0 ][2 ]),
96
- () -> assertEquals (0 , storage [0 ][3 ]),
97
- () -> assertEquals (0 , storage [1 ][0 ]),
98
- () -> assertEquals (0 , storage [1 ][1 ]),
99
- () -> assertEquals (0 , storage [1 ][2 ]),
100
- () -> assertEquals (0 , storage [1 ][3 ]),
101
- () -> assertEquals (0 , storage [2 ][0 ]),
102
- () -> assertEquals (0 , storage [2 ][1 ]),
103
- () -> assertEquals (0 , storage [2 ][2 ]),
104
- () -> assertEquals (0 , storage [2 ][3 ]),
105
- () -> assertEquals (0 , storage [3 ][0 ]),
106
- () -> assertEquals (0 , storage [3 ][1 ]),
107
- () -> assertEquals (0 , storage [3 ][2 ]),
108
- () -> assertEquals (0 , storage [3 ][3 ])
75
+ () ->
76
+ assertEquals (0 , EditDistance .editDistance ("abc" , "abc" , storage )),
77
+ () ->
78
+ assertEquals (0 , storage [0 ][0 ]),
79
+ () ->
80
+ assertEquals (0 , storage [0 ][1 ]),
81
+ () ->
82
+ assertEquals (0 , storage [0 ][2 ]),
83
+ () ->
84
+ assertEquals (0 , storage [0 ][3 ]),
85
+ () ->
86
+ assertEquals (0 , storage [1 ][0 ]),
87
+ () ->
88
+ assertEquals (0 , storage [1 ][1 ]),
89
+ () ->
90
+ assertEquals (0 , storage [1 ][2 ]),
91
+ () ->
92
+ assertEquals (0 , storage [1 ][3 ]),
93
+ () ->
94
+ assertEquals (0 , storage [2 ][0 ]),
95
+ () -> 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 ])
109
96
);
110
97
}
111
98
@@ -120,16 +107,13 @@ public void testEditDistance_OneCharacterDifference() {
120
107
public void testEditDistance_OneCharacterDifference_Memoization () {
121
108
int [][] storage = new int [3 ][3 ];
122
109
assertAll ("All assertions" ,
123
- () -> assertEquals (1 , EditDistance .editDistance ("at" , "it" , storage )),
124
- () -> assertEquals (0 , storage [0 ][0 ]),
125
- () -> assertEquals (1 , storage [0 ][1 ]),
126
- () -> assertEquals (2 , storage [0 ][2 ]),
127
- () -> assertEquals (1 , storage [1 ][0 ]),
128
- () -> assertEquals (0 , storage [1 ][1 ]),
129
- () -> assertEquals (1 , storage [1 ][2 ]),
130
- () -> assertEquals (2 , storage [2 ][0 ]),
131
- () -> assertEquals (1 , storage [2 ][1 ]),
132
- () -> assertEquals (1 , storage [2 ][2 ])
110
+ () ->
111
+ assertEquals (1 , EditDistance .editDistance ("at" , "it" , storage )),
112
+ () ->
113
+ assertEquals (0 , storage [0 ][0 ]),
114
+ () ->
115
+ assertEquals (1 , storage [0 ][1 ]),
116
+ () -> 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 ])
133
117
);
134
118
}
135
119
@@ -144,9 +128,6 @@ public void testEditDistance_GeneralCases() {
144
128
public void testEditDistance_GeneralCases_Memoization () {
145
129
int [][] storage = new int [7 ][8 ];
146
130
assertEquals (3 , EditDistance .editDistance ("kitten" , "sitting" , storage ));
147
- assertAll ("All assertions" ,
148
- () -> assertEquals (0 , storage [0 ][0 ]),
149
- () -> assertEquals (3 , storage [6 ][7 ])
150
- );
131
+ assertAll ("All assertions" , () -> assertEquals (0 , storage [0 ][0 ]), () -> assertEquals (3 , storage [6 ][7 ]));
151
132
}
152
133
}
0 commit comments