CellIdentityTest.java revision 81b90daac5f0e09da0ea83327b8f31976194aade
17aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu/* 27aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * Copyright 2017 The Android Open Source Project 37aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * 47aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * Licensed under the Apache License, Version 2.0 (the "License"); 57aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * you may not use this file except in compliance with the License. 67aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * You may obtain a copy of the License at 77aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * 87aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * http://www.apache.org/licenses/LICENSE-2.0 97aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * 107aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * Unless required by applicable law or agreed to in writing, software 117aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * distributed under the License is distributed on an "AS IS" BASIS, 127aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * See the License for the specific language governing permissions and 147aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu * limitations under the License. 157aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu */ 167aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 177aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yupackage com.android.internal.telephony; 187aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 197aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.os.Parcel; 207aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.telephony.CellIdentity; 217aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.telephony.CellIdentityCdma; 227aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.telephony.CellIdentityLte; 237aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.test.AndroidTestCase; 247aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yuimport android.test.suitebuilder.annotation.SmallTest; 257aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 267aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yupublic class CellIdentityTest extends AndroidTestCase { 277aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 287aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Cell identity ranges from 0 to 268435456. 297aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int CI = 268435456; 307aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Physical cell id ranges from 0 to 503. 317aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int PCI = 503; 327aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Tracking area code ranges from 0 to 65535. 337aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int TAC = 65535; 347aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Absolute RF Channel Number ranges from 0 to 262140. 357aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int EARFCN = 262140; 3681b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach private static final int BANDWIDTH = 5000; // kHz 377aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int MCC = 120; 387aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int MNC = 260; 397aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final String MCC_STR = "120"; 407aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final String MNC_STR = "260"; 417aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final String ALPHA_LONG = "long"; 427aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final String ALPHA_SHORT = "short"; 437aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 447aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Network Id ranges from 0 to 65535. 457aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int NETWORK_ID = 65535; 467aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // CDMA System Id ranges from 0 to 32767 477aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int SYSTEM_ID = 32767; 487aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Base Station Id ranges from 0 to 65535 497aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int BASESTATION_ID = 65535; 507aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Longitude ranges from -2592000 to 2592000. 517aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int LONGITUDE = 2592000; 527aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu // Latitude ranges from -1296000 to 1296000. 537aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu private static final int LATITUDE = 1296000; 547aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 557aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu @SmallTest 567aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu public void testEquals() { 577aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu CellIdentity ciA = new CellIdentityLte( 5881b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach CI, PCI, TAC, EARFCN, BANDWIDTH, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); 597aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu CellIdentity ciB = new CellIdentityLte( 6081b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach CI, PCI, TAC, EARFCN, BANDWIDTH, MCC_STR, MNC_STR, ALPHA_LONG, ALPHA_SHORT); 617aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 627aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu assertTrue(ciA.equals(ciB)); 637aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 6481b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ciA = new CellIdentityLte(CI, PCI, TAC, EARFCN, BANDWIDTH, null, null, ALPHA_LONG, 6581b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ALPHA_SHORT); 6681b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ciB = new CellIdentityLte(CI, PCI, TAC, EARFCN, BANDWIDTH, null, null, ALPHA_LONG, 6781b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ALPHA_SHORT); 687aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 697aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu assertTrue(ciA.equals(ciB)); 707aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 7181b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ciA = new CellIdentityLte(CI, PCI, TAC, EARFCN, BANDWIDTH, MCC_STR, null, ALPHA_LONG, 7281b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ALPHA_SHORT); 7381b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ciB = new CellIdentityLte(CI, PCI, TAC, EARFCN, BANDWIDTH, null, null, ALPHA_LONG, 7481b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ALPHA_SHORT); 757aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 767aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu assertFalse(ciA.equals(ciB)); 777aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu } 787aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 797aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu @SmallTest 807aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu public void testParcel() { 8181b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach CellIdentity ci = new CellIdentityLte(CI, PCI, TAC, EARFCN, BANDWIDTH, MCC_STR, MNC_STR, 8281b90daac5f0e09da0ea83327b8f31976194aadeEric Schwarzenbach ALPHA_LONG, ALPHA_SHORT); 837aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 847aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu Parcel p = Parcel.obtain(); 857aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu ci.writeToParcel(p, 0); 867aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.setDataPosition(0); 877aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 887aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu CellIdentity newCi = CellIdentity.CREATOR.createFromParcel(p); 897aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu assertEquals(ci, newCi); 907aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 917aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu ci = new CellIdentityCdma(NETWORK_ID, SYSTEM_ID, BASESTATION_ID, LONGITUDE, LATITUDE, 927aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu ALPHA_LONG, ALPHA_SHORT); 937aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 947aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p = Parcel.obtain(); 957aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu ci.writeToParcel(p, 0); 967aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu p.setDataPosition(0); 977aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu 987aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu newCi = CellIdentity.CREATOR.createFromParcel(p); 997aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu assertEquals(ci, newCi); 1007aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu } 1017aa0254d5d8f08163b3702a2a1c9602366f568d8Jack Yu} 102