• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ljacqu / wordeval / 14558242496

20 Apr 2025 09:39AM UTC coverage: 53.745%. First build
14558242496

push

github

ljacqu
Change WordEvalMain to SpringBootApp, convert dict & lang data to constants

286 of 596 branches covered (47.99%)

124 of 134 new or added lines in 4 files covered. (92.54%)

739 of 1375 relevant lines covered (53.75%)

3.04 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.3
/src/main/java/ch/jalu/wordeval/appdata/LanguageData.java
1
package ch.jalu.wordeval.appdata;
2

3
import ch.jalu.wordeval.language.Alphabet;
4
import ch.jalu.wordeval.language.Language;
5

6
import static ch.jalu.wordeval.language.Language.builder;
7

8
/**
9
 * Stores all {@link Language} objects.
10
 */
11
final class LanguageData {
12

13
  public static final Language AF = builder("af", "Afrikaans", Alphabet.LATIN).build();
6✔
14
  public static final Language BG = builder("bg", "Bulgarian", Alphabet.CYRILLIC).build();
6✔
15
  public static final Language CS = builder("cs", "Czech", Alphabet.LATIN)
38✔
16
      // TODO #66: is stuff like "ň" really a distinct letter to preserve?
17
      .additionalConsonants("č", "ď", "ch", "ň", "ř", "š", "ť", "ž")
35✔
18
      .additionalVowels("á", "é", "ě", "í", "ó", "ú", "ů", "ý")
1✔
19
      .build();
2✔
20
  public static final Language DA = builder("da", "Danish", Alphabet.LATIN)
18✔
21
      .additionalVowels("æ", "ø", "å")
1✔
22
      .build();
2✔
23
  // TODO #51: How to handle 'ß'?
24
  public static final Language DE = builder("de", "German", Alphabet.LATIN).build();
6✔
25
  public static final Language EN = builder("en", "English", Alphabet.LATIN)
10✔
26
      // TODO #66: how to deal with Y being consonant and vowel in English?
27
      .additionalConsonants("y")
1✔
28
      .build();
2✔
29
  public static final Language ES = builder("es", "Spanish", Alphabet.LATIN)
10✔
30
      .additionalConsonants("ñ")
1✔
31
      .build();
2✔
32
  public static final Language EU = builder("eu", "Basque", Alphabet.LATIN)
10✔
33
      .additionalConsonants("ñ")
1✔
34
      .build();
2✔
35
  public static final Language FI = builder("fi", "Finnish", Alphabet.LATIN)
14✔
36
      .additionalVowels("ä", "ö")
1✔
37
      .build();
2✔
38
  public static final Language FR = builder("fr", "French", Alphabet.LATIN)
14✔
39
      .additionalVowels("æ", "œ")
1✔
40
      .build();
2✔
41
  public static final Language HU = builder("hu", "Hungarian", Alphabet.LATIN)
42✔
42
      .additionalConsonants("cs", "dz", "dzs", "gy", "ly", "ny", "sz", "ty", "zs")
39✔
43
      .additionalVowels("á", "é", "í", "ó", "ö", "ő", "ú", "ü", "ű")
1✔
44
      .build();
2✔
45
  public static final Language IT = builder("it", "Italian", Alphabet.LATIN).build();
6✔
46
  public static final Language NB = builder("nb", "Norwegian (Bokmål)", Alphabet.LATIN)
18✔
47
      .additionalVowels("æ", "ø", "å")
1✔
48
      .build();
2✔
49
  public static final Language NL = builder("nl", "Dutch", Alphabet.LATIN)
10✔
50
      .additionalVowels("ij")
1✔
51
      .build();
2✔
52
  public static final Language NN = builder("nn", "Norwegian (Nynorsk)", Alphabet.LATIN)
18✔
53
      .additionalVowels("æ", "ø", "å")
1✔
54
      .build();
2✔
55
  public static final Language PL = builder("pl", "Polish", Alphabet.LATIN)
30✔
56
      .additionalConsonants("ć", "ł", "ń", "ś", "ź", "ż")
15✔
57
      .additionalVowels("ą", "ę", "ó")
1✔
58
      .build();
2✔
59
  public static final Language PT = builder("pt", "Portuguese", Alphabet.LATIN).build();
6✔
60
  public static final Language RU = builder("ru", "Russian", Alphabet.CYRILLIC).build();
6✔
61
  public static final Language SR_CYRL = builder("sr-cyrl", "Serbian (Cyrillic)", Alphabet.CYRILLIC).build();
6✔
62
  public static final Language SR_LATN = builder("sr-latn", "Serbian (Latin)", Alphabet.LATIN)
38✔
63
      .additionalConsonants("č", "ć", "dž", "đ", "lj", "nj", "š", "ž")
1✔
64
      .build();
2✔
65
  public static final Language TR = builder("tr", "Turkish", Alphabet.LATIN)
23✔
66
      .additionalConsonants("ç", "ğ", "ş", "y")
15✔
67
      .additionalVowels("ı", "ö", "ü")
7✔
68
      .lettersToRemove("y")
1✔
69
      .build();
2✔
70

71
  private LanguageData() {
72
  }
73

74
  public static Language getOrThrow(String code) {
75
    Language language = getOrNull(code);
3✔
76
    if (language == null) {
2!
NEW
77
      throw new IllegalStateException("Unknown language code: " + code);
×
78
    }
79
    return language;
2✔
80
  }
81

82
  public static Language getOrNull(String code) {
83
    return switch (code) {
9!
84
      case "af" -> AF;
2✔
85
      case "bg" -> BG;
2✔
NEW
86
      case "cs" -> CS;
×
87
      case "da" -> DA;
2✔
88
      case "de" -> DE;
2✔
89
      case "en" -> EN;
2✔
90
      case "es" -> ES;
2✔
91
      case "eu" -> EU;
2✔
NEW
92
      case "fi" -> FI;
×
93
      case "fr" -> FR;
2✔
94
      case "hu" -> HU;
2✔
95
      case "it" -> IT;
2✔
96
      case "nb" -> NB;
2✔
97
      case "nl" -> NL;
2✔
98
      case "nn" -> NN;
2✔
99
      case "pl" -> PL;
2✔
100
      case "pt" -> PT;
2✔
101
      case "ru" -> RU;
2✔
102
      case "sr-cyrl" -> SR_CYRL;
2✔
103
      case "sr-latn" -> SR_LATN;
2✔
104
      case "tr" -> TR;
2✔
105
      default -> null;
1✔
106
    };
107
  }
108
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc