1 package club.wpia.gigi.util;
3 import static org.junit.Assert.*;
5 import java.util.Arrays;
6 import java.util.LinkedList;
10 import org.junit.runner.RunWith;
11 import org.junit.runners.Parameterized;
12 import org.junit.runners.Parameterized.Parameter;
13 import org.junit.runners.Parameterized.Parameters;
15 import club.wpia.gigi.util.EditDistance;
17 @RunWith(Parameterized.class)
18 public class EditDistanceTest {
20 private static final String[] words = new String[] {
21 "A", "B", "C", "aa", "bb", "cc c", "dfdf", "__*"
24 private static final List<String> wordList = Arrays.asList(words);
26 @Parameters(name = "next({0}) = {1}")
27 public static Iterable<Object[]> params() {
28 List<Object[]> testVectors = new LinkedList<Object[]>();
29 for (String word : words) {
30 addTest(testVectors, word, word);
31 addTest(testVectors, word + " ", word);
32 addTest(testVectors, word + "_", word);
33 addTest(testVectors, " " + word, word);
34 addTest(testVectors, "werwer" + word, word);
36 addTest(testVectors, "Acc c", "cc c");
37 addTest(testVectors, "bbB", "bb");
38 addTest(testVectors, "dfÄö", "dfdf");
39 addTest(testVectors, "*__", "__*");
40 addTest(testVectors, "c cc", "cc c");
41 addTest(testVectors, "fddf", "dfdf");
42 addTest(testVectors, "fdd..", "dfdf");
43 addTest(testVectors, "*", "A");
44 addTest(testVectors, "A__*", "__*");
48 private static void addTest(List<Object[]> testVectors, String test, String expected) {
49 testVectors.add(new Object[] {
58 public String expected;
61 public void getBestMatchingStringByEditDistanceArray() {
62 assertEquals(expected, EditDistance.getBestMatchingStringByEditDistance(search, words));
66 public void getBestMatchingStringByEditDistanceList() {
67 assertEquals(expected, EditDistance.getBestMatchingStringByEditDistance(search, wordList));