Home | History | Annotate | Download | only in sms
      1 /*
      2  * Copyright 2017 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.cdma.sms;
     18 
     19 import static org.junit.Assert.assertArrayEquals;
     20 
     21 import android.test.AndroidTestCase;
     22 
     23 import org.junit.Test;
     24 
     25 /**
     26  * Tests for {@link CdmaSmsAddress}.
     27  */
     28 public class CdmaSmsAddressTest extends AndroidTestCase {
     29     @Test
     30     public void testNumberAddress() {
     31         String address = "3141592653";
     32         CdmaSmsAddress cdmaAddress = CdmaSmsAddress.parse(address);
     33         assertEquals(address, cdmaAddress.address);
     34         assertEquals(CdmaSmsAddress.DIGIT_MODE_4BIT_DTMF, cdmaAddress.digitMode);
     35         assertEquals(CdmaSmsAddress.NUMBER_MODE_NOT_DATA_NETWORK, cdmaAddress.numberMode);
     36         assertArrayEquals(CdmaSmsAddress.parseToDtmf(address), cdmaAddress.origBytes);
     37     }
     38 
     39     @Test
     40     public void testNumberWithSugar() {
     41         String address = "(314)1592653";
     42         CdmaSmsAddress cdmaAddress = CdmaSmsAddress.parse(address);
     43         assertEquals(address, cdmaAddress.address);
     44         assertEquals(CdmaSmsAddress.DIGIT_MODE_4BIT_DTMF, cdmaAddress.digitMode);
     45         assertEquals(CdmaSmsAddress.NUMBER_MODE_NOT_DATA_NETWORK, cdmaAddress.numberMode);
     46         assertArrayEquals(CdmaSmsAddress.parseToDtmf("3141592653"), cdmaAddress.origBytes);
     47     }
     48 
     49     @Test
     50     public void testInternationalAddress() {
     51         String address = "+10068";
     52         CdmaSmsAddress cdmaAddress = CdmaSmsAddress.parse(address);
     53         assertEquals(address, cdmaAddress.address);
     54         assertEquals(CdmaSmsAddress.DIGIT_MODE_8BIT_CHAR, cdmaAddress.digitMode);
     55         assertEquals(CdmaSmsAddress.NUMBER_MODE_NOT_DATA_NETWORK, cdmaAddress.numberMode);
     56         assertEquals(CdmaSmsAddress.NUMBERING_PLAN_ISDN_TELEPHONY, cdmaAddress.numberPlan);
     57         assertEquals(CdmaSmsAddress.TON_INTERNATIONAL_OR_IP, cdmaAddress.ton);
     58         assertArrayEquals(UserData.stringToAscii("10068"), cdmaAddress.origBytes);
     59     }
     60 
     61     @Test
     62     public void testEmailAddress() {
     63         String address = "fb769394+10086 (at) tvb.com";
     64         CdmaSmsAddress cdmaAddress = CdmaSmsAddress.parse(address);
     65         assertEquals(address, cdmaAddress.address);
     66         assertEquals(CdmaSmsAddress.DIGIT_MODE_8BIT_CHAR, cdmaAddress.digitMode);
     67         assertEquals(CdmaSmsAddress.NUMBER_MODE_DATA_NETWORK, cdmaAddress.numberMode);
     68         assertEquals(CdmaSmsAddress.TON_NATIONAL_OR_EMAIL, cdmaAddress.ton);
     69         assertArrayEquals(UserData.stringToAscii(address), cdmaAddress.origBytes);
     70     }
     71 }
     72