blob: 5fc3af1d84588d015ddd4987544e759e53c529b6 [file] [log] [blame]
package org.unicode.cldr.util;
import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import com.google.common.collect.ImmutableSet;
import org.junit.jupiter.api.Test;
public class TestLocalesTxtReader {
@Test
void TestRegularLocalesTxt() {
LocalesTxtReader rdr = new LocalesTxtReader().read(StandardCodes.make());
assertNotNull(rdr);
assertAll("LocalesTxtReader assertions",
// These are not used yet
// () -> assertTrue(rdr.organization_locale_match.isEmpty(),
// () -> assertTrue(rdr.organization_locale_weight.isEmpty(),
() -> assertFalse(rdr.platform_level_locale.isEmpty()),
() -> assertFalse(rdr.platform_locale_level.isEmpty()),
() -> assertFalse(rdr.platform_locale_levelString.isEmpty()));
}
@Test
void TestCannedLocalesTxt() throws IOException {
try (BufferedReader r = FileReaders.openFile(TestLocalesTxtReader.class, "TestLocales.txt");) {
LocalesTxtReader rdr = new LocalesTxtReader().read(StandardCodes.make(), r);
assertNotNull(rdr);
assertAll("LocalesTxtReader basic assertions",
() -> assertFalse(rdr.organization_locale_match.isEmpty()),
() -> assertFalse(rdr.organization_locale_weight.isEmpty()),
() -> assertFalse(rdr.platform_level_locale.isEmpty()),
() -> assertFalse(rdr.platform_locale_level.isEmpty()),
() -> assertFalse(rdr.platform_locale_levelString.isEmpty()),
() -> assertTrue(rdr.organization_locale_match.containsKey(Organization.adlam)),
() -> assertTrue(rdr.organization_locale_weight.containsKey(Organization.adlam)),
() -> assertTrue(rdr.platform_locale_level.containsKey(Organization.adlam)),
() -> assertTrue(rdr.platform_locale_level.containsKey(Organization.wod_nko)),
() -> assertTrue(rdr.platform_locale_level.containsKey(Organization.wikimedia)));
Map<String, Integer> adlam_weight = rdr.organization_locale_weight.get(Organization.adlam);
Map<String, Set<String>> adlam_match = rdr.organization_locale_match.get(Organization.adlam);
Map<String, Level> nko_level = rdr.platform_locale_level.get(Organization.wod_nko);
Map<String, Level> adlam_level = rdr.platform_locale_level.get(Organization.adlam);
Map<String, Level> wikimedia_level = rdr.platform_locale_level.get(Organization.wikimedia);
assertAll("verify maps",
() -> assertNotNull(adlam_weight),
() -> assertFalse(adlam_weight.isEmpty()),
() -> assertNotNull(adlam_match),
() -> assertFalse(adlam_match.isEmpty()),
() -> assertNotNull(nko_level),
() -> assertFalse(nko_level.isEmpty()),
() -> assertNotNull(adlam_level),
() -> assertFalse(adlam_level.isEmpty()),
() -> assertNotNull(wikimedia_level),
() -> assertFalse(wikimedia_level.isEmpty()));
final Set<String> adlamPaths = adlam_match.get(StandardCodes.ALL_LOCALES);
assertAll("verify values",
() -> assertEquals(4, adlam_weight.get(StandardCodes.ALL_LOCALES)),
() -> assertEquals(ImmutableSet.of("annotations1","annotations2","characterLabel1","characterLabel2"), adlamPaths, "adlam: *"),
() -> assertEquals(Level.MODERATE, adlam_level.get(StandardCodes.ALL_LOCALES), "adlam: *"),
() -> assertEquals(Level.MODERN, nko_level.get("nqo"), "wod_nko: nqo"),
() -> assertEquals(Level.BASIC, wikimedia_level.get(StandardCodes.ALL_LOCALES), "wikimedia: *"));
}
}
}