1/*
2 * Copyright (C) 2006 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
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 */
16
17package com.android.internal.telephony;
18
19import com.android.internal.telephony.MccTable;
20
21import android.test.AndroidTestCase;
22import android.test.suitebuilder.annotation.SmallTest;
23
24import android.util.Log;
25
26public class MccTableTest extends AndroidTestCase {
27    private final static String LOG_TAG = "GSM";
28
29    @SmallTest
30    public void testTimeZone() throws Exception {
31        assertEquals(MccTable.defaultTimeZoneForMcc(208), "ECT");
32        assertEquals(MccTable.defaultTimeZoneForMcc(232), "Europe/Vienna");
33        assertEquals(MccTable.defaultTimeZoneForMcc(655), "Africa/Johannesburg");
34        assertEquals(MccTable.defaultTimeZoneForMcc(440), "Asia/Tokyo");
35        assertEquals(MccTable.defaultTimeZoneForMcc(441), "Asia/Tokyo");
36        assertEquals(MccTable.defaultTimeZoneForMcc(525), "Asia/Singapore");
37        assertEquals(MccTable.defaultTimeZoneForMcc(240), null);  // tz not defined, hence default
38        assertEquals(MccTable.defaultTimeZoneForMcc(0), null);    // mcc not defined, hence default
39        assertEquals(MccTable.defaultTimeZoneForMcc(2000), null); // mcc not defined, hence default
40    }
41
42    @SmallTest
43    public void testCountryCode() throws Exception {
44        assertEquals(MccTable.countryCodeForMcc(270), "lu");
45        assertEquals(MccTable.countryCodeForMcc(202), "gr");
46        assertEquals(MccTable.countryCodeForMcc(750), "fk");
47        assertEquals(MccTable.countryCodeForMcc(646), "mg");
48        assertEquals(MccTable.countryCodeForMcc(314), "us");
49        assertEquals(MccTable.countryCodeForMcc(300), "");  // mcc not defined, hence default
50        assertEquals(MccTable.countryCodeForMcc(0), "");    // mcc not defined, hence default
51        assertEquals(MccTable.countryCodeForMcc(2000), ""); // mcc not defined, hence default
52    }
53
54    @SmallTest
55    public void testLang() throws Exception {
56        assertEquals(MccTable.defaultLanguageForMcc(311), "en");
57        assertEquals(MccTable.defaultLanguageForMcc(232), "de");
58        assertEquals(MccTable.defaultLanguageForMcc(230), "cs");
59        assertEquals(MccTable.defaultLanguageForMcc(204), "nl");
60        assertEquals(MccTable.defaultLanguageForMcc(274), null);  // lang not defined, hence default
61        assertEquals(MccTable.defaultLanguageForMcc(0), null);    // mcc not defined, hence default
62        assertEquals(MccTable.defaultLanguageForMcc(2000), null); // mcc not defined, hence default
63    }
64
65    @SmallTest
66    public void testSmDigits() throws Exception {
67        assertEquals(MccTable.smallestDigitsMccForMnc(312), 3);
68        assertEquals(MccTable.smallestDigitsMccForMnc(430), 2);
69        assertEquals(MccTable.smallestDigitsMccForMnc(365), 3);
70        assertEquals(MccTable.smallestDigitsMccForMnc(536), 2);
71        assertEquals(MccTable.smallestDigitsMccForMnc(352), 2);  // sd not defined, hence default
72        assertEquals(MccTable.smallestDigitsMccForMnc(0), 2);    // mcc not defined, hence default
73        assertEquals(MccTable.smallestDigitsMccForMnc(2000), 2); // mcc not defined, hence default
74    }
75}
76