Subversion Repository Public Repository

litesoft

Diff Revisions 932 vs 933 for /trunk/DeviceDesktopTest/src/org/litesoft/locale/DerivedLocaleGraphTest.java

Diff revisions: vs.
  @@ -3,42 +3,101 @@
3 3 import junit.framework.AssertionFailedError;
4 4 import org.junit.Test;
5 5
6 - import java.util.ArrayList;
7 - import java.util.Arrays;
8 - import java.util.Collections;
9 - import java.util.List;
10 - import java.util.Locale;
6 + import java.util.*;
11 7
12 8 public class DerivedLocaleGraphTest {
13 9 private static final List<String> FRENCH_CANADIAN = toCodes(Locale.CANADA_FRENCH, Locale.FRENCH, Locale.CANADA, Locale.ENGLISH);
14 10 private static final List<String> ENGLISH_CANADIAN = toCodes(Locale.CANADA, Locale.ENGLISH);
15 11 private static final List<String> ENGLISH_US = toCodes(Locale.US, Locale.ENGLISH);
16 - private static final List<String> MEXICAN_US = toCodes(new Locale("es", "MX"), new Locale("es"), Locale.US, Locale.ENGLISH);
12 + private static final List<String> MEXICAN_US = toCodes(new Locale("es", "US"), new Locale("es", "MX"), new Locale("es"), Locale.US, Locale.ENGLISH);
17 13 private static final List<String> BRITAIN = toCodes(Locale.UK, Locale.ENGLISH);
18 14 private static final List<String> GERMAN = toCodes(Locale.GERMANY, Locale.GERMAN);
19 15 private static final List<String> FRANCE = toCodes(Locale.FRANCE, Locale.FRENCH);
20 - private static final List<String> TAIWAN = toCodes(Locale.TAIWAN, Locale.TRADITIONAL_CHINESE, Locale.CHINESE, Locale.SIMPLIFIED_CHINESE, Locale.ENGLISH);
21 - private static final List<String> CHINA = toCodes(Locale.CHINA, Locale.PRC, Locale.CHINESE, Locale.SIMPLIFIED_CHINESE);
16 + private static final List<String> ITALY = toCodes(Locale.ITALY, Locale.ITALIAN);
22 17 private static final List<String> JAPAN = toCodes(Locale.JAPAN, Locale.JAPANESE, Locale.ENGLISH);
23 18 private static final List<String> KOREA = toCodes(Locale.KOREA, Locale.KOREAN);
24 - private static final List<String> ITALY = toCodes(Locale.ITALY, Locale.ITALIAN);
19 + private static final List<String> CHINA = toCodes(Locale.CHINA, Locale.PRC, Locale.CHINESE, Locale.SIMPLIFIED_CHINESE);
20 + private static final List<String> TAIWAN = toCodes(Locale.TAIWAN, Locale.TRADITIONAL_CHINESE, Locale.CHINESE, Locale.SIMPLIFIED_CHINESE, Locale.ENGLISH);
21 +
22 + private AbstractLocale[] SUPPORTED = { // Alphabetical
23 + Locale_de_DE.INSTANCE,
24 + Locale_en_US.INSTANCE, // Locale_en_CA.INSTANCE, Locale_en_GB.INSTANCE,
25 + Locale_es_ES.INSTANCE, // Locale_es_MX.INSTANCE,
26 + Locale_fr_FR.INSTANCE, // Locale_fr_CA.INSTANCE,
27 + Locale_it_IT.INSTANCE,
28 + Locale_ja_JP.INSTANCE,
29 + Locale_ko_KR.INSTANCE,
30 + Locale_zh_CN.INSTANCE, // Locale_zh_TW.INSTANCE,
31 + };
25 32
26 33 @Test
27 34 public void testSelect()
28 35 throws Exception {
29 - expectSelected(Locale_en_US.INSTANCE, ENGLISH_US, Locale_en_US.INSTANCE);
30 -
31 - expectSelected(Locale_en_US.INSTANCE, ENGLISH_CANADIAN, Locale_en_US.INSTANCE, Locale_de_DE.INSTANCE);
32 - expectSelected(Locale_fr_FR.INSTANCE, FRENCH_CANADIAN, Locale_en_US.INSTANCE, Locale_de_DE.INSTANCE, Locale_fr_FR.INSTANCE);
33 -
34 - expectSelected(Locale_es_ES.INSTANCE, MEXICAN_US, Locale_en_US.INSTANCE, Locale_de_DE.INSTANCE, Locale_fr_FR.INSTANCE, Locale_es_ES.INSTANCE);
36 + expectSelected(Locale_fr_FR.INSTANCE, FRENCH_CANADIAN, null, SUPPORTED);
37 + expectSelected(Locale_fr_CA.INSTANCE, FRENCH_CANADIAN, Locale_fr_CA.INSTANCE, SUPPORTED);
38 + expectSelected(Locale_en_CA.INSTANCE, FRENCH_CANADIAN, Locale_en_CA.INSTANCE, Locale_en_US.INSTANCE);
39 + expectSelected(Locale_en_US.INSTANCE, FRENCH_CANADIAN, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
40 +
41 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_CANADIAN, null, SUPPORTED);
42 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_CANADIAN, Locale_fr_CA.INSTANCE, SUPPORTED);
43 + expectSelected(Locale_en_CA.INSTANCE, ENGLISH_CANADIAN, Locale_en_CA.INSTANCE, SUPPORTED);
44 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_CANADIAN, Locale_en_GB.INSTANCE, SUPPORTED);
35 45
46 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_US, Locale_en_US.INSTANCE);
47 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_US, null, SUPPORTED);
48 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_US, Locale_en_GB.INSTANCE, SUPPORTED);
49 + expectSelected(Locale_en_US.INSTANCE, ENGLISH_US, Locale_en_CA.INSTANCE, SUPPORTED);
50 +
51 + expectSelected(Locale_es_ES.INSTANCE, MEXICAN_US, null, SUPPORTED);
52 + expectSelected(Locale_es_MX.INSTANCE, MEXICAN_US, Locale_es_MX.INSTANCE, SUPPORTED);
53 + expectSelected(Locale_en_US.INSTANCE, MEXICAN_US, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
54 +
55 + expectSelected(Locale_en_US.INSTANCE, BRITAIN, null, SUPPORTED);
56 + expectSelected(Locale_en_US.INSTANCE, BRITAIN, Locale_en_CA.INSTANCE, SUPPORTED);
57 + expectSelected(Locale_en_GB.INSTANCE, BRITAIN, Locale_en_GB.INSTANCE, SUPPORTED);
58 +
59 + expectSelected(Locale_de_DE.INSTANCE, GERMAN, null, SUPPORTED);
60 + expectSelected(Locale_de_DE.INSTANCE, GERMAN, Locale_zh_TW.INSTANCE, SUPPORTED);
61 + expectSelected(Locale_en_US.INSTANCE, GERMAN, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
62 +
63 + expectSelected(Locale_fr_FR.INSTANCE, FRANCE, null, SUPPORTED);
64 + expectSelected(Locale_fr_FR.INSTANCE, FRANCE, Locale_zh_TW.INSTANCE, SUPPORTED);
65 + expectSelected(Locale_en_US.INSTANCE, FRANCE, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
66 +
67 + expectSelected(Locale_it_IT.INSTANCE, ITALY, null, SUPPORTED);
68 + expectSelected(Locale_it_IT.INSTANCE, ITALY, Locale_zh_TW.INSTANCE, SUPPORTED);
69 + expectSelected(Locale_en_US.INSTANCE, ITALY, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
70 +
71 + expectSelected(Locale_ja_JP.INSTANCE, JAPAN, null, SUPPORTED);
72 + expectSelected(Locale_ja_JP.INSTANCE, JAPAN, Locale_zh_TW.INSTANCE, SUPPORTED);
73 + expectSelected(Locale_en_US.INSTANCE, JAPAN, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
74 +
75 + expectSelected(Locale_ko_KR.INSTANCE, KOREA, null, SUPPORTED);
76 + expectSelected(Locale_ko_KR.INSTANCE, KOREA, Locale_zh_TW.INSTANCE, SUPPORTED);
77 + expectSelected(Locale_en_US.INSTANCE, KOREA, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
78 +
79 + expectSelected(Locale_zh_CN.INSTANCE, CHINA, null, SUPPORTED);
80 + expectSelected(Locale_zh_CN.INSTANCE, CHINA, Locale_zh_TW.INSTANCE, SUPPORTED);
81 + expectSelected(Locale_en_US.INSTANCE, CHINA, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
82 +
83 + expectSelected(Locale_zh_CN.INSTANCE, TAIWAN, null, SUPPORTED);
84 + expectSelected(Locale_zh_TW.INSTANCE, TAIWAN, Locale_zh_TW.INSTANCE, SUPPORTED);
85 + expectSelected(Locale_en_US.INSTANCE, TAIWAN, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
86 +
87 + List<String> zTonga = toCodes( new Locale("to","TO"), new Locale("en","AU"), Locale.ENGLISH);
88 + expectSelected(Locale_en_US.INSTANCE, zTonga, null, SUPPORTED);
89 + expectSelected(Locale_en_US.INSTANCE, zTonga, Locale_zh_TW.INSTANCE, SUPPORTED);
90 + expectSelected(Locale_en_US.INSTANCE, zTonga, Locale_en_GB.INSTANCE, Locale_en_US.INSTANCE);
36 91 }
37 92
38 - private void expectSelected(AbstractLocale pExpected, List<String> pLocaleCodesToTest, AbstractLocale... pSupported) {
39 - AbstractLocale zSelected = DerivedLocaleGraph.select(Locales.toSet(pSupported), pLocaleCodesToTest);
93 + private void expectSelected(AbstractLocale pExpected, List<String> pLocaleCodesToTest, AbstractLocale pAdditionalSupported, AbstractLocale... pSupported) {
94 + Set<AbstractLocale> zSupported = Locales.toSet( pSupported );
95 + if (pAdditionalSupported != null) {
96 + zSupported.add( pAdditionalSupported );
97 + }
98 + AbstractLocale zSelected = DerivedLocaleGraph.select( zSupported, pLocaleCodesToTest);
40 99 if (!pExpected.equals(zSelected)) {
41 - throw new AssertionFailedError(""
100 + throw new AssertionFailedError("\n"
42 101 + "Expected: " + pExpected + "\n"
43 102 + " Actual: " + zSelected + "\n"
44 103 + "Supported: " + Arrays.asList(pSupported) + "\n"