10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2011 The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.test.AndroidTestCase;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.ArrayList;
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Test cases for the IntRangeManager class.
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class IntRangeManagerTest extends AndroidTestCase {
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int SMS_CB_CODE_SCHEME_MIN = 0;
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int SMS_CB_CODE_SCHEME_MAX = 255;
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int FLAG_START_UPDATE_CALLED   = 0x01;
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int FLAG_ADD_RANGE_CALLED      = 0x02;
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int FLAG_FINISH_UPDATE_CALLED  = 0x04;
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private static final int ALL_FLAGS_SET = FLAG_START_UPDATE_CALLED | FLAG_ADD_RANGE_CALLED |
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            FLAG_FINISH_UPDATE_CALLED;
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /** Dummy IntRangeManager for testing. */
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    class TestIntRangeManager extends IntRangeManager {
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        ArrayList<SmsBroadcastConfigInfo> mConfigList =
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                new ArrayList<SmsBroadcastConfigInfo>();
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        int flags;
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        boolean finishUpdateReturnValue = true;
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        /**
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * Called when the list of enabled ranges has changed. This will be
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * followed by zero or more calls to {@link #addRange} followed by
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * a call to {@link #finishUpdate}.
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         */
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        protected void startUpdate() {
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mConfigList.clear();
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            flags |= FLAG_START_UPDATE_CALLED;
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        /**
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * Called after {@link #startUpdate} to indicate a range of enabled
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * values.
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * @param startId the first id included in the range
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * @param endId the last id included in the range
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         */
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        protected void addRange(int startId, int endId, boolean selected) {
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mConfigList.add(new SmsBroadcastConfigInfo(startId, endId,
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                        SMS_CB_CODE_SCHEME_MIN, SMS_CB_CODE_SCHEME_MAX, selected));
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            flags |= FLAG_ADD_RANGE_CALLED;
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        /**
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * Called to indicate the end of a range update started by the
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         * previous call to {@link #startUpdate}.
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville         */
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        protected boolean finishUpdate() {
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            flags |= FLAG_FINISH_UPDATE_CALLED;
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return finishUpdateReturnValue;
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        /** Reset the object for the next test case. */
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        void reset() {
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            flags = 0;
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mConfigList.clear();
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testEmptyRangeManager() {
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("expecting empty configlist", 0, testManager.mConfigList.size());
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private void checkConfigInfo(SmsBroadcastConfigInfo info, int fromServiceId,
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            int toServiceId, int fromCodeScheme, int toCodeScheme, boolean selected) {
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("fromServiceId", fromServiceId, info.getFromServiceId());
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("toServiceId", toServiceId, info.getToServiceId());
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("fromCodeScheme", fromCodeScheme, info.getFromCodeScheme());
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("toCodeScheme", toCodeScheme, info.getToCodeScheme());
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("selected", selected, info.isSelected());
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testAddSingleChannel() {
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags before test", 0, testManager.flags);
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range", testManager.enableRange(123, 123, "client1"));
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 123, 123, SMS_CB_CODE_SCHEME_MIN,
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 123, 123, SMS_CB_CODE_SCHEME_MIN,
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testRemoveSingleChannel() {
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range", testManager.enableRange(123, 123, "client1"));
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after enable", ALL_FLAGS_SET, testManager.flags);
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range", testManager.disableRange(123, 123, "client1"));
1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 123, 123, SMS_CB_CODE_SCHEME_MIN,
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED,
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                testManager.flags);
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testRemoveBadChannel() {
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertFalse("disabling missing range", testManager.disableRange(123, 123, "client1"));
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", 0, testManager.flags);
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testAddTwoChannels() {
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags before test", 0, testManager.flags);
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 1", testManager.enableRange(100, 120, "client1"));
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN,
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 2", testManager.enableRange(200, 250, "client2"));
1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 200, 250, SMS_CB_CODE_SCHEME_MIN,
1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 2, testManager.mConfigList.size());
1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN,
1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 200, 250, SMS_CB_CODE_SCHEME_MIN,
1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testOverlappingChannels() {
1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags before test", 0, testManager.flags);
1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 1", testManager.enableRange(100, 200, "client1"));
1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN,
1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2"));
1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 201, 250, SMS_CB_CODE_SCHEME_MIN,
1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 250, SMS_CB_CODE_SCHEME_MIN,
1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 1", testManager.disableRange(100, 200, "client1"));
1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 149, SMS_CB_CODE_SCHEME_MIN,
1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2"));
1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 150, 250, SMS_CB_CODE_SCHEME_MIN,
1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED,
2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                testManager.flags);
2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testOverlappingChannels2() {
2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags before test", 0, testManager.flags);
2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 1", testManager.enableRange(100, 200, "client1"));
2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN,
2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2"));
2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 201, 250, SMS_CB_CODE_SCHEME_MIN,
2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2"));
2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 201, 250, SMS_CB_CODE_SCHEME_MIN,
2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN,
2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 1", testManager.disableRange(100, 200, "client1"));
2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN,
2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testMultipleOverlappingChannels() {
2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestIntRangeManager testManager = new TestIntRangeManager();
2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags before test", 0, testManager.flags);
2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 1", testManager.enableRange(67, 9999, "client1"));
2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 67, 9999, SMS_CB_CODE_SCHEME_MIN,
2450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2"));
2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", 0, testManager.flags);
2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
2500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 3", testManager.enableRange(25, 75, "client3"));
2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 66, SMS_CB_CODE_SCHEME_MIN,
2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 4", testManager.enableRange(12, 500, "client4"));
2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 12, 24, SMS_CB_CODE_SCHEME_MIN,
2610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 5", testManager.enableRange(8000, 9998, "client5"));
2640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", 0, testManager.flags);
2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("enabling range 6", testManager.enableRange(50000, 65535, "client6"));
2680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 2, testManager.mConfigList.size());
2760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 12, 9999, SMS_CB_CODE_SCHEME_MIN,
2770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 1", testManager.disableRange(67, 9999, "client1"));
2820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 2, testManager.mConfigList.size());
2840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 501, 7999, SMS_CB_CODE_SCHEME_MIN,
2850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
2860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 9999, 9999, SMS_CB_CODE_SCHEME_MIN,
2870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
2880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
2900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
2910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 3, testManager.mConfigList.size());
2920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 12, 500, SMS_CB_CODE_SCHEME_MIN,
2930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 8000, 9998, SMS_CB_CODE_SCHEME_MIN,
2950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
2970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
2980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
2990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 4", testManager.disableRange(12, 500, "client4"));
3000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 3, testManager.mConfigList.size());
3020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 12, 24, SMS_CB_CODE_SCHEME_MIN,
3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 76, 149, SMS_CB_CODE_SCHEME_MIN,
3050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(2), 251, 500, SMS_CB_CODE_SCHEME_MIN,
3070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 4, testManager.mConfigList.size());
3120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN,
3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN,
3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(2), 8000, 9998, SMS_CB_CODE_SCHEME_MIN,
3170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(3), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 5", testManager.disableRange(8000, 9998, "client5"));
3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 8000, 9998, SMS_CB_CODE_SCHEME_MIN,
3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 3, testManager.mConfigList.size());
3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN,
3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN,
3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 6", testManager.disableRange(50000, 65535, "client6"));
3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 50000, 65535, SMS_CB_CODE_SCHEME_MIN,
3410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
3440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 2, testManager.mConfigList.size());
3460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN,
3470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN,
3490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2"));
3520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
3540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 150, 250, SMS_CB_CODE_SCHEME_MIN,
3550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
3580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
3600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN,
3610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, true);
3620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("disabling range 3", testManager.disableRange(25, 75, "client3"));
3640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags);
3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 1, testManager.mConfigList.size());
3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN,
3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                SMS_CB_CODE_SCHEME_MAX, false);
3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        testManager.reset();
3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertTrue("updating ranges", testManager.updateRanges());
3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED,
3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                testManager.flags);
3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        assertEquals("configlist size", 0, testManager.mConfigList.size());
3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
375