1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util;
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays;
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.HashSet;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.List;
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Locale;
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Set;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class LocaleTest extends junit.framework.TestCase {
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	Locale testLocale;
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	Locale l;
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	Locale defaultLocale;
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#Locale(java.lang.String, java.lang.String)
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_ConstructorLjava_lang_StringLjava_lang_String() {
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.Locale(java.lang.String, java.lang.String)
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale x = new Locale("xx", "CV");
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Failed to create Locale", x.getCountry().equals("CV")
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				&& x.getVariant().equals(""));
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#Locale(java.lang.String, java.lang.String,
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 *        java.lang.String)
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_ConstructorLjava_lang_StringLjava_lang_StringLjava_lang_String() {
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.Locale(java.lang.String, java.lang.String,
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.lang.String)
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale x = new Locale("xx", "CV", "ZZ");
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Failed to create Locale", x.getLanguage().equals("xx")
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				&& (x.getCountry().equals("CV") && x.getVariant().equals("ZZ")));
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   new Locale(null, "CV", "ZZ");
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   fail("expected NullPointerException with 1st parameter == null");
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch(NullPointerException e) {
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   new Locale("xx", null, "ZZ");
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   fail("expected NullPointerException with 2nd parameter == null");
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch(NullPointerException e) {
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   new Locale("xx", "CV", null);
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                   fail("expected NullPointerException with 3rd parameter == null");
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch(NullPointerException e) {
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#clone()
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_clone() {
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.Object java.util.Locale.clone()
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Clone failed", l.clone().equals(l));
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#equals(java.lang.Object)
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_equalsLjava_lang_Object() {
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method boolean java.util.Locale.equals(java.lang.Object)
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale l2 = new Locale("en", "CA", "WIN32");
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Same object returned false", testLocale.equals(testLocale));
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Same values returned false", testLocale.equals(l2));
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Different locales returned true", !testLocale.equals(l));
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.util.Locale#getAvailableLocales()
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getAvailableLocales() {
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Test for method java.util.Locale []
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // java.util.Locale.getAvailableLocales()
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Assumes there will generally be about 100+ available locales...
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale[] locales = Locale.getAvailableLocales();
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue("Wrong number of locales: ", locales.length > 100);
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // regression test for HARMONY-1514
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // HashSet can filter duplicate locales
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Set<Locale> localesSet = new HashSet<Locale>(Arrays.asList(locales));
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Non-bug difference for HARMONY-5442
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(localesSet.size() <= locales.length);
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests java.util.Locale#getCountry()
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getCountry() {
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getCountry()
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect country: " + testLocale.getCountry(),
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				testLocale.getCountry().equals("CA"));
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDefault()
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDefault() {
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.util.Locale java.util.Locale.getDefault()
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("returns copy", Locale.getDefault() == Locale.getDefault());
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale org = Locale.getDefault();
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(l);
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale x = Locale.getDefault();
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(org);
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Failed to get locale", "fr_CA_WIN32", x.toString());
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayCountry()
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayCountry() {
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getDisplayCountry()
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect country: "
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getDisplayCountry(), testLocale
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayCountry().equals("Canada"));
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Regression for Harmony-1146
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Non-bug difference for HARMONY-5442
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale l_countryCD = new Locale("", "CD"); //$NON-NLS-1$ //$NON-NLS-2$
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("Congo - Kinshasa", //$NON-NLS-1$
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        l_countryCD.getDisplayCountry());
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayCountry(java.util.Locale)
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayCountryLjava_util_Locale() {
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getDisplayCountry(java.util.Locale)
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Returned incorrect country", "Italie", Locale.ITALY
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayCountry(l));
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayLanguage()
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayLanguage() {
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getDisplayLanguage()
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect language: "
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getDisplayLanguage(), testLocale
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayLanguage().equals("English"));
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Regression for Harmony-1146
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale l_languageAE = new Locale("ae", ""); //$NON-NLS-1$ //$NON-NLS-2$
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Avestan", l_languageAE.getDisplayLanguage()); //$NON-NLS-1$
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Regression for HARMONY-4402
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale defaultLocale = Locale.getDefault();
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Locale locale = new Locale("no", "NO");
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Locale.setDefault(locale);
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("norsk", locale.getDisplayLanguage()); //$NON-NLS-1$
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } finally {
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            Locale.setDefault(defaultLocale);
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayLanguage(java.util.Locale)
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayLanguageLjava_util_Locale() {
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getDisplayLanguage(java.util.Locale)
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect language: "
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getDisplayLanguage(l), testLocale
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayLanguage(l).equals("anglais"));
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayName()
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayName() {
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getDisplayName()
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect name: " + testLocale.getDisplayName(),
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				testLocale.getDisplayName().equals("English (Canada,WIN32)"));
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayName(java.util.Locale)
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayNameLjava_util_Locale() {
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getDisplayName(java.util.Locale)
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect name: " + testLocale.getDisplayName(l),
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				testLocale.getDisplayName(l).equals("anglais (Canada,WIN32)"));
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayVariant()
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayVariant() {
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getDisplayVariant()
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect variant: "
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getDisplayVariant(), testLocale
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayVariant().equals("WIN32"));
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getDisplayVariant(java.util.Locale)
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getDisplayVariantLjava_util_Locale() {
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getDisplayVariant(java.util.Locale)
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect variant: "
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getDisplayVariant(l), testLocale
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.getDisplayVariant(l).equals("WIN32"));
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getISO3Country()
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getISO3Country() {
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getISO3Country()
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect ISO3 country: "
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getISO3Country(), testLocale.getISO3Country()
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.equals("CAN"));
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale l = new Locale("", "CD");
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("COD", l.getISO3Country());
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getISO3Language()
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getISO3Language() {
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getISO3Language()
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect ISO3 language: "
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				+ testLocale.getISO3Language(), testLocale.getISO3Language()
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.equals("eng"));
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale l = new Locale("ae");
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("ave", l.getISO3Language());
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Regression for Harmony-1146
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Non-bug difference for HARMONY-5442
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale l_CountryCS = new Locale("", "CS"); //$NON-NLS-1$ //$NON-NLS-2$
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("SCG", l_CountryCS.getISO3Country()); //$NON-NLS-1$
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        // Regression for Harmony-1129
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        l = new Locale("ak", ""); //$NON-NLS-1$ //$NON-NLS-2$
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("aka", l.getISO3Language()); //$NON-NLS-1$
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getISOCountries()
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getISOCountries() {
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String []
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getISOCountries()
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Assumes all countries are 2 digits, and that there will always be
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// 230 countries on the list...
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		String[] isoCountries = Locale.getISOCountries();
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int length = isoCountries.length;
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int familiarCount = 0;
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		for (int i = 0; i < length; i++) {
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (isoCountries[i].length() != 2) {
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				fail("Wrong format for ISOCountries.");
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (isoCountries[i].equals("CA") || isoCountries[i].equals("BB")
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					|| isoCountries[i].equals("US")
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					|| isoCountries[i].equals("KR"))
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				familiarCount++;
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("ISOCountries missing.", familiarCount == 4 && length > 230);
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getISOLanguages()
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getISOLanguages() {
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String []
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.util.Locale.getISOLanguages()
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Assumes always at least 131 ISOlanguages...
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		String[] isoLang = Locale.getISOLanguages();
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		int length = isoLang.length;
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Non-bug difference for HARMONY-5442
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue(isoLang[length / 2].length() == 3);
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue(isoLang[length / 2].toLowerCase().equals(isoLang[length / 2]));
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Wrong number of ISOLanguages.", length > 130);
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getLanguage()
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getLanguage() {
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getLanguage()
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect language: " + testLocale.getLanguage(),
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				testLocale.getLanguage().equals("en"));
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#getVariant()
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_getVariant() {
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.getVariant()
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertTrue("Returned incorrect variant: " + testLocale.getVariant(),
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				testLocale.getVariant().equals("WIN32"));
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#setDefault(java.util.Locale)
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_setDefaultLjava_util_Locale() {
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void java.util.Locale.setDefault(java.util.Locale)
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale org = Locale.getDefault();
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(l);
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale x = Locale.getDefault();
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(org);
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Failed to set locale", "fr_CA_WIN32", x.toString());
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(new Locale("tr", ""));
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		String res1 = "\u0069".toUpperCase();
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		String res2 = "\u0049".toLowerCase();
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(org);
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong toUppercase conversion", "\u0130", res1);
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong toLowercase conversion", "\u0131", res2);
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * @tests java.util.Locale#toString()
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_toString() {
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method java.lang.String java.util.Locale.toString()
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Returned incorrect string representation", "en_CA_WIN32", testLocale
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				.toString());
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale l = new Locale("en", "");
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 1", "en", l.toString());
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("", "CA");
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 2", "_CA", l.toString());
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Non-bug difference for HARMONY-5442
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("", "CA", "var");
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 2.5", "_CA_var", l.toString());
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("en", "", "WIN");
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 4", "en__WIN", l.toString());
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("en", "CA");
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 6", "en_CA", l.toString());
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("en", "CA", "VAR");
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		assertEquals("Wrong representation 7", "en_CA_VAR", l.toString());
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        l = new Locale("", "", "var");
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("Wrong representation 8", "", l.toString());
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    // Regression Test for HARMONY-2953
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_getISO() {
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale locale = new Locale("an");
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("arg", locale.getISO3Language());
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        locale = new Locale("PS");
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("pus", locale.getISO3Language());
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        List<String> languages = Arrays.asList(Locale.getISOLanguages());
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertTrue(languages.contains("ak"));
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Non-bug difference for HARMONY-5442
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        List<String> countries = Arrays.asList(Locale.getISOCountries());
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertFalse(countries.contains("CS"));
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @tests {@value java.util.Locale#ROOT}
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @since 1.6
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_constantROOT() {
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Locale root = Locale.ROOT;
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("", root.getLanguage());
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("", root.getCountry());
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("", root.getVariant());
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Sets up the fixture, for example, open a network connection. This method
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * is called before a test is executed.
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected void setUp() {
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		defaultLocale = Locale.getDefault();
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(Locale.US);
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		testLocale = new Locale("en", "CA", "WIN32");
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		l = new Locale("fr", "CA", "WIN32");
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	/**
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * Tears down the fixture, for example, close a network connection. This
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 * method is called after a test is executed.
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	 */
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	protected void tearDown() {
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Locale.setDefault(defaultLocale);
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
420