1e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie/* 2e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * Copyright (C) 2017 The Android Open Source Project 3e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * 4e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * Licensed under the Apache License, Version 2.0 (the "License"); 5e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * you may not use this file except in compliance with the License. 6e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * You may obtain a copy of the License at 7e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * 8e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * http://www.apache.org/licenses/LICENSE-2.0 9e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * 10e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * Unless required by applicable law or agreed to in writing, software 11e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * distributed under the License is distributed on an "AS IS" BASIS, 12e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * See the License for the specific language governing permissions and 14e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie * limitations under the License. 15e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie */ 16e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 17e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassiepackage com.android.internal.telephony; 18e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 19e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassieimport android.os.Parcel; 207aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.telephony.CellIdentity; 21e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassieimport android.telephony.CellIdentityWcdma; 22e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassieimport android.test.AndroidTestCase; 23e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassieimport android.test.suitebuilder.annotation.SmallTest; 24e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 25e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie/** Unit tests for {@link CellIdentityWcdma}. */ 26e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 27e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassiepublic class CellIdentityWcdmaTest extends AndroidTestCase { 28e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 29e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie // Location Area Code ranges from 0 to 65535. 30e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int LAC = 65535; 31e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie // UMTS Cell Identity ranges from 0 to 268435455. 32e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int CID = 268435455; 33e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie // Primary Scrambling Coderanges from 0 to 511. 34e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int PSC = 511; 35e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie // UMTS Absolute RF Channel Number ranges from 0 to 65535. 36e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int UARFCN = 65535; 37e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int MCC = 120; 38e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final int MNC = 260; 39e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final String MCC_STR = "120"; 40e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final String MNC_STR = "260"; 41e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final String ALPHA_LONG = "long"; 42e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie private static final String ALPHA_SHORT = "short"; 43e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 44e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 45e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testDefaultConstructor() { 46e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 47e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, 48e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ALPHA_LONG, ALPHA_SHORT); 49e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 50e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(LAC, ci.getLac()); 51e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(CID, ci.getCid()); 52e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(PSC, ci.getPsc()); 5399cc5e6ad7be178e9b17e58ac55bb5136ef50ee9Eric Schwarzenbach assertEquals(UARFCN, ci.getUarfcn()); 5499cc5e6ad7be178e9b17e58ac55bb5136ef50ee9Eric Schwarzenbach assertEquals(UARFCN, ci.getChannelNumber()); 55e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC, ci.getMcc()); 56e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MNC, ci.getMnc()); 57dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MCC_STR, ci.getMccString()); 58dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MNC_STR, ci.getMncString()); 59e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC_STR + MNC_STR, ci.getMobileNetworkOperator()); 60e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(ALPHA_LONG, ci.getOperatorAlphaLong()); 61e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(ALPHA_SHORT, ci.getOperatorAlphaShort()); 62e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 63e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 64e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 65e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testConstructorWithThreeDigitMnc() { 66e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie final String mncWithThreeDigit = "061"; 67e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 68e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, mncWithThreeDigit, 69e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ALPHA_LONG, ALPHA_SHORT); 70e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 71e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC, ci.getMcc()); 72e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(61, ci.getMnc()); 73dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MCC_STR, ci.getMccString()); 74dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(mncWithThreeDigit, ci.getMncString()); 75e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC_STR + mncWithThreeDigit, ci.getMobileNetworkOperator()); 76e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 77e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 78e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 79e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testConstructorWithTwoDigitMnc() { 80e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie final String mncWithTwoDigit = "61"; 81e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 82e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, mncWithTwoDigit, 83e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ALPHA_LONG, ALPHA_SHORT); 84e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 85e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC, ci.getMcc()); 86e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(61, ci.getMnc()); 87dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MCC_STR, ci.getMccString()); 88dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(mncWithTwoDigit, ci.getMncString()); 89e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC_STR + mncWithTwoDigit, ci.getMobileNetworkOperator()); 90e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 91e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 92e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 93e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testConstructorWithEmptyMccMnc() { 94e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie final String integerMaxValue = String.valueOf(Integer.MAX_VALUE); 95e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 96e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 97e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 98e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(Integer.MAX_VALUE, ci.getMcc()); 99e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(Integer.MAX_VALUE, ci.getMnc()); 100dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMccString()); 101dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMncString()); 102eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertNull(ci.getMobileNetworkOperator()); 103e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 104e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ci = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, null, ALPHA_LONG, ALPHA_SHORT); 105e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 106e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC, ci.getMcc()); 107e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(Integer.MAX_VALUE, ci.getMnc()); 108dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MCC_STR, ci.getMccString()); 109dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMncString()); 110eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertNull(ci.getMobileNetworkOperator()); 111eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie 112eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie ci = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, MNC_STR, ALPHA_LONG, ALPHA_SHORT); 113eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie 114eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertEquals(MNC, ci.getMnc()); 115eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertEquals(Integer.MAX_VALUE, ci.getMcc()); 116dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MNC_STR, ci.getMncString()); 117dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMccString()); 118eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertNull(ci.getMobileNetworkOperator()); 119e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 120e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ci = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, "", "", ALPHA_LONG, ALPHA_SHORT); 121e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 122e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(Integer.MAX_VALUE, ci.getMcc()); 123e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(Integer.MAX_VALUE, ci.getMnc()); 124dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMccString()); 125dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertNull(ci.getMncString()); 126eed44fa8e0d6837d75efe98c6010aa3bdbce3b6fCassie assertNull(ci.getMobileNetworkOperator()); 127e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 128e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 129e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 130e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testFormerConstructor() { 131e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 132e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(MCC, MNC, LAC, CID, PSC); 133e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 134e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(LAC, ci.getLac()); 135e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(CID, ci.getCid()); 136e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(PSC, ci.getPsc()); 137e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC, ci.getMcc()); 138e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MNC, ci.getMnc()); 139dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MCC_STR, ci.getMccString()); 140dfbbb29a3dcb1fbb850c50912beaf0ace47c24c9Cassie assertEquals(MNC_STR, ci.getMncString()); 141e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(MCC_STR + MNC_STR, ci.getMobileNetworkOperator()); 142e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertNull(ci.getOperatorAlphaLong()); 143e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertNull(ci.getOperatorAlphaShort()); 144e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 145e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 146e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 147e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testEquals() { 148e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ciA = new CellIdentityWcdma( 149e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); 150e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ciB = new CellIdentityWcdma( 151e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); 152e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 153e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertTrue(ciA.equals(ciB)); 154e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 155e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ciA = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 156e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ciB = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 157e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 158e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertTrue(ciA.equals(ciB)); 159e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 160e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ciA = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, null, ALPHA_LONG, ALPHA_SHORT); 161e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ciB = new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 162e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 163e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertFalse(ciA.equals(ciB)); 164e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 165e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 166e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie @SmallTest 167e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie public void testParcel() { 168e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma ci = 169e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, MCC_STR, MNC_STR, 170e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ALPHA_LONG, ALPHA_SHORT); 171e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 172e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie Parcel p = Parcel.obtain(); 173e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie ci.writeToParcel(p, 0); 174e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie p.setDataPosition(0); 175e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie 176e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie CellIdentityWcdma newCi = CellIdentityWcdma.CREATOR.createFromParcel(p); 177e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie assertEquals(ci, newCi); 178e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie } 179e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 180e2be13c62d7f340a6560c61e2e925d8608f1024cCassie @SmallTest 181e2be13c62d7f340a6560c61e2e925d8608f1024cCassie public void testParcelWithUnknowMccMnc() { 1826da36e04115847978aed09edb7a4f5f5906dc9f8Cassie CellIdentityWcdma ci = 1836da36e04115847978aed09edb7a4f5f5906dc9f8Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 184e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 185e2be13c62d7f340a6560c61e2e925d8608f1024cCassie Parcel p = Parcel.obtain(); 1867aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeInt(CellIdentity.TYPE_WCDMA); 1877aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeString(String.valueOf(Integer.MAX_VALUE)); 1887aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeString(String.valueOf(Integer.MAX_VALUE)); 1896da36e04115847978aed09edb7a4f5f5906dc9f8Cassie p.writeString(ALPHA_LONG); 1906da36e04115847978aed09edb7a4f5f5906dc9f8Cassie p.writeString(ALPHA_SHORT); 191e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(LAC); 192e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(CID); 193e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(PSC); 194e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(UARFCN); 195e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.setDataPosition(0); 196e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 197e2be13c62d7f340a6560c61e2e925d8608f1024cCassie CellIdentityWcdma newCi = CellIdentityWcdma.CREATOR.createFromParcel(p); 198e2be13c62d7f340a6560c61e2e925d8608f1024cCassie assertEquals(ci, newCi); 199e2be13c62d7f340a6560c61e2e925d8608f1024cCassie } 200e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 201e2be13c62d7f340a6560c61e2e925d8608f1024cCassie @SmallTest 202e2be13c62d7f340a6560c61e2e925d8608f1024cCassie public void testParcelWithInvalidMccMnc() { 203e2be13c62d7f340a6560c61e2e925d8608f1024cCassie final String invalidMcc = "randomStuff"; 204e2be13c62d7f340a6560c61e2e925d8608f1024cCassie final String invalidMnc = "randomStuff"; 2056da36e04115847978aed09edb7a4f5f5906dc9f8Cassie CellIdentityWcdma ci = 2066da36e04115847978aed09edb7a4f5f5906dc9f8Cassie new CellIdentityWcdma(LAC, CID, PSC, UARFCN, null, null, ALPHA_LONG, ALPHA_SHORT); 207e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 208e2be13c62d7f340a6560c61e2e925d8608f1024cCassie Parcel p = Parcel.obtain(); 2097aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeInt(CellIdentity.TYPE_WCDMA); 2107aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeString(invalidMcc); 2117aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.writeString(invalidMnc); 2126da36e04115847978aed09edb7a4f5f5906dc9f8Cassie p.writeString(ALPHA_LONG); 2136da36e04115847978aed09edb7a4f5f5906dc9f8Cassie p.writeString(ALPHA_SHORT); 214e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(LAC); 215e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(CID); 216e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(PSC); 217e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.writeInt(UARFCN); 218e2be13c62d7f340a6560c61e2e925d8608f1024cCassie p.setDataPosition(0); 219e2be13c62d7f340a6560c61e2e925d8608f1024cCassie 220e2be13c62d7f340a6560c61e2e925d8608f1024cCassie CellIdentityWcdma newCi = CellIdentityWcdma.CREATOR.createFromParcel(p); 221e2be13c62d7f340a6560c61e2e925d8608f1024cCassie assertEquals(ci, newCi); 222e2be13c62d7f340a6560c61e2e925d8608f1024cCassie } 223e20f8c78a7fdc3a5530499b12aeced9ca851c8c6Cassie} 224