1/*
2 * Copyright (C) 2012 The Android Open Source Project
3 *
4 * Licensed under the Eclipse Public License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.eclipse.org/org/documents/epl-v10.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.ide.eclipse.adt.internal.editors.layout.configuration;
17
18import com.android.ide.common.resources.configuration.LanguageQualifier;
19import com.android.ide.common.resources.configuration.RegionQualifier;
20
21import junit.framework.TestCase;
22
23@SuppressWarnings("javadoc")
24public class LocaleTest extends TestCase {
25    public void test() {
26        LanguageQualifier language1 = new LanguageQualifier("nb");
27        LanguageQualifier language2 = new LanguageQualifier("no");
28        RegionQualifier region1 = new RegionQualifier("NO");
29        RegionQualifier region2 = new RegionQualifier("SE");
30
31        assertEquals(Locale.ANY, Locale.ANY);
32        assertFalse(Locale.ANY.hasLanguage());
33        assertFalse(Locale.ANY.hasRegion());
34        assertFalse(Locale.create(new LanguageQualifier(LanguageQualifier.FAKE_LANG_VALUE),
35                new RegionQualifier(RegionQualifier.FAKE_REGION_VALUE)).hasLanguage());
36        assertFalse(Locale.create(new LanguageQualifier(LanguageQualifier.FAKE_LANG_VALUE),
37                new RegionQualifier(RegionQualifier.FAKE_REGION_VALUE)).hasRegion());
38
39        assertEquals(Locale.create(language1), Locale.create(language1));
40        assertTrue(Locale.create(language1).hasLanguage());
41        assertFalse(Locale.create(language1).hasRegion());
42        assertTrue(Locale.create(language1, region1).hasLanguage());
43        assertTrue(Locale.create(language1, region1).hasRegion());
44
45        assertEquals(Locale.create(language1, region1), Locale.create(language1, region1));
46        assertEquals(Locale.create(language1), Locale.create(language1));
47        assertTrue(Locale.create(language1).equals(Locale.create(language1)));
48        assertTrue(Locale.create(language1, region1).equals(Locale.create(language1, region1)));
49        assertFalse(Locale.create(language1, region1).equals(Locale.create(language1, region2)));
50        assertFalse(Locale.create(language1).equals(Locale.create(language1, region1)));
51        assertFalse(Locale.create(language1).equals(Locale.create(language2)));
52        assertFalse(Locale.create(language1, region1).equals(Locale.create(language2, region1)));
53        assertEquals("Locale{nb, __}", Locale.create(language1).toString());
54        assertEquals("Locale{nb, NO}", Locale.create(language1, region1).toString());
55    }
56}
57