1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.text.similarity;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertSame;
21 import static org.junit.jupiter.api.Assertions.assertThrows;
22
23 import java.util.Locale;
24
25 import org.junit.jupiter.api.Test;
26
27
28
29
30 class FuzzyScoreTest {
31
32 private static final FuzzyScore ENGLISH_SCORE = new FuzzyScore(Locale.ENGLISH);
33
34 @Test
35 void testGetFuzzyScore() {
36 assertEquals(0, ENGLISH_SCORE.fuzzyScore("", ""));
37 assertEquals(0, ENGLISH_SCORE.fuzzyScore("Workshop", "b"));
38 assertEquals(1, ENGLISH_SCORE.fuzzyScore("Room", "o"));
39 assertEquals(1, ENGLISH_SCORE.fuzzyScore("Workshop", "w"));
40 assertEquals(2, ENGLISH_SCORE.fuzzyScore("Workshop", "ws"));
41 assertEquals(4, ENGLISH_SCORE.fuzzyScore("Workshop", "wo"));
42 assertEquals(3, ENGLISH_SCORE.fuzzyScore("Apache Software Foundation", "asf"));
43 }
44
45 @Test
46 void testGetFuzzyScore_NullNullLocale() {
47 assertThrows(IllegalArgumentException.class, () -> ENGLISH_SCORE.fuzzyScore(null, null));
48 }
49
50 @Test
51 void testGetFuzzyScore_NullStringLocale() {
52 assertThrows(IllegalArgumentException.class, () -> ENGLISH_SCORE.fuzzyScore(null, "not null"));
53 }
54
55 @Test
56 void testGetFuzzyScore_StringNullLocale() {
57 assertThrows(IllegalArgumentException.class, () -> ENGLISH_SCORE.fuzzyScore("not null", null));
58 }
59
60 @Test
61 void testGetLocale() {
62 final Locale locale = Locale.CANADA_FRENCH;
63 final FuzzyScore fuzzyScore = new FuzzyScore(locale);
64 final Locale localeTwo = fuzzyScore.getLocale();
65 assertSame(localeTwo, locale);
66 }
67
68 @Test
69 void testMissingLocale() {
70 assertThrows(IllegalArgumentException.class, () -> new FuzzyScore((Locale) null));
71 }
72
73 }