Home | History | Annotate | Download | only in telephony
      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 
     17 package com.android.internal.telephony;
     18 
     19 import android.test.AndroidTestCase;
     20 import android.test.suitebuilder.annotation.SmallTest;
     21 
     22 import java.util.Locale;
     23 
     24 public class MccTableTest extends AndroidTestCase {
     25     private final static String LOG_TAG = "GSM";
     26 
     27     @SmallTest
     28     public void testTimeZone() throws Exception {
     29         assertEquals("Europe/Paris", MccTable.defaultTimeZoneForMcc(208));
     30         assertEquals("Europe/Vienna", MccTable.defaultTimeZoneForMcc(232));
     31         assertEquals("Africa/Johannesburg", MccTable.defaultTimeZoneForMcc(655));
     32         assertEquals("Asia/Tokyo", MccTable.defaultTimeZoneForMcc(440));
     33         assertEquals("Asia/Tokyo", MccTable.defaultTimeZoneForMcc(441));
     34         assertEquals("Asia/Singapore", MccTable.defaultTimeZoneForMcc(525));
     35         assertEquals("Europe/Stockholm", MccTable.defaultTimeZoneForMcc(240));
     36 
     37         /* A test for the special handling for MCC 505. http://b/33228250. */
     38         assertEquals("Australia/Sydney", MccTable.defaultTimeZoneForMcc(505));
     39         assertEquals(null, MccTable.defaultTimeZoneForMcc(0));    // mcc not defined, hence default
     40         assertEquals(null, MccTable.defaultTimeZoneForMcc(2000)); // mcc not defined, hence default
     41     }
     42 
     43     @SmallTest
     44     public void testCountryCode() throws Exception {
     45         assertEquals("lu", MccTable.countryCodeForMcc(270));
     46         assertEquals("gr", MccTable.countryCodeForMcc(202));
     47         assertEquals("fk", MccTable.countryCodeForMcc(750));
     48         assertEquals("mg", MccTable.countryCodeForMcc(646));
     49         assertEquals("us", MccTable.countryCodeForMcc(314));
     50         assertEquals("", MccTable.countryCodeForMcc(300));  // mcc not defined, hence default
     51         assertEquals("", MccTable.countryCodeForMcc(0));    // mcc not defined, hence default
     52         assertEquals("", MccTable.countryCodeForMcc(2000)); // mcc not defined, hence default
     53     }
     54 
     55     @SmallTest
     56     public void testLang() throws Exception {
     57         assertEquals("en", MccTable.defaultLanguageForMcc(311));
     58         assertEquals("de", MccTable.defaultLanguageForMcc(232));
     59         assertEquals("cs", MccTable.defaultLanguageForMcc(230));
     60         assertEquals("nl", MccTable.defaultLanguageForMcc(204));
     61         assertEquals("is", MccTable.defaultLanguageForMcc(274));
     62         assertEquals(null, MccTable.defaultLanguageForMcc(0));    // mcc not defined, hence default
     63         assertEquals(null, MccTable.defaultLanguageForMcc(2000)); // mcc not defined, hence default
     64     }
     65 
     66     @SmallTest
     67     public void testLang_India() throws Exception {
     68         assertEquals("en", MccTable.defaultLanguageForMcc(404));
     69         assertEquals("en", MccTable.defaultLanguageForMcc(405));
     70         assertEquals("en", MccTable.defaultLanguageForMcc(406));
     71     }
     72 
     73     @SmallTest
     74     public void testLocale() throws Exception {
     75         assertEquals(Locale.forLanguageTag("en-CA"),
     76                 MccTable.getLocaleFromMcc(getContext(), 302, null));
     77         assertEquals(Locale.forLanguageTag("en-GB"),
     78                 MccTable.getLocaleFromMcc(getContext(), 234, null));
     79         assertEquals(Locale.forLanguageTag("en-US"),
     80                 MccTable.getLocaleFromMcc(getContext(), 0, "en"));
     81         assertEquals(Locale.forLanguageTag("zh-HK"),
     82                 MccTable.getLocaleFromMcc(getContext(), 454, null));
     83         assertEquals(Locale.forLanguageTag("en-HK"),
     84                 MccTable.getLocaleFromMcc(getContext(), 454, "en"));
     85         assertEquals(Locale.forLanguageTag("zh-TW"),
     86                 MccTable.getLocaleFromMcc(getContext(), 466, null));
     87     }
     88 
     89     @SmallTest
     90     public void testSmDigits() throws Exception {
     91         assertEquals(3, MccTable.smallestDigitsMccForMnc(312));
     92         assertEquals(2, MccTable.smallestDigitsMccForMnc(430));
     93         assertEquals(3, MccTable.smallestDigitsMccForMnc(365));
     94         assertEquals(2, MccTable.smallestDigitsMccForMnc(536));
     95         assertEquals(2, MccTable.smallestDigitsMccForMnc(352));  // sd not defined, hence default
     96         assertEquals(2, MccTable.smallestDigitsMccForMnc(0));    // mcc not defined, hence default
     97         assertEquals(2, MccTable.smallestDigitsMccForMnc(2000)); // mcc not defined, hence default
     98     }
     99 }
    100