Skip to content

Commit 9b35817

Browse files
committed
Added tests for StringUtils
1 parent 6c8c6bd commit 9b35817

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package fr.zcraft.quartzlib.tools.text;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
import org.junit.Test;
6+
import org.junit.jupiter.api.Assertions;
7+
8+
public class StringUtilsTests {
9+
@Test
10+
public void canComputeLevenshteinDistance() {
11+
Assertions.assertEquals(0, StringUtils.levenshteinDistance("foo", "foo"));
12+
Assertions.assertEquals(1, StringUtils.levenshteinDistance("fooa", "foo"));
13+
Assertions.assertEquals(1, StringUtils.levenshteinDistance("foo", "fooa"));
14+
Assertions.assertEquals(1, StringUtils.levenshteinDistance("fao", "foo"));
15+
Assertions.assertEquals(6, StringUtils.levenshteinDistance("fooaaaaaa", "foo"));
16+
Assertions.assertEquals(2, StringUtils.levenshteinDistance("f", "foo"));
17+
Assertions.assertEquals(3, StringUtils.levenshteinDistance("a", "foo"));
18+
}
19+
20+
@Test
21+
public void canFindLevenshteinNearest() {
22+
List<String> candidates = Arrays.asList("add", "list", "open");
23+
24+
Assertions.assertEquals("add", StringUtils.levenshteinNearest("foo", candidates, 10));
25+
Assertions.assertEquals("add", StringUtils.levenshteinNearest("adf", candidates, 10));
26+
Assertions.assertEquals("open", StringUtils.levenshteinNearest("openn", candidates, 10));
27+
Assertions.assertNull(StringUtils.levenshteinNearest("kkkkkkkkkkkkkkkk", candidates, 10));
28+
}
29+
}

0 commit comments

Comments
 (0)