1/* 2 * Copyright (C) 2011 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 17package com.android.internal.telephony; 18 19import android.test.AndroidTestCase; 20import android.test.suitebuilder.annotation.SmallTest; 21 22import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; 23 24import org.junit.Test; 25 26import java.util.ArrayList; 27 28/** 29 * Test cases for the IntRangeManager class. 30 */ 31public class IntRangeManagerTest extends AndroidTestCase { 32 33 private static final int SMS_CB_CODE_SCHEME_MIN = 0; 34 private static final int SMS_CB_CODE_SCHEME_MAX = 255; 35 36 private static final int FLAG_START_UPDATE_CALLED = 0x01; 37 private static final int FLAG_ADD_RANGE_CALLED = 0x02; 38 private static final int FLAG_FINISH_UPDATE_CALLED = 0x04; 39 40 private static final int ALL_FLAGS_SET = FLAG_START_UPDATE_CALLED | FLAG_ADD_RANGE_CALLED | 41 FLAG_FINISH_UPDATE_CALLED; 42 43 /** Dummy IntRangeManager for testing. */ 44 class TestIntRangeManager extends IntRangeManager { 45 ArrayList<SmsBroadcastConfigInfo> mConfigList = 46 new ArrayList<SmsBroadcastConfigInfo>(); 47 48 int flags; 49 boolean finishUpdateReturnValue = true; 50 51 /** 52 * Called when the list of enabled ranges has changed. This will be 53 * followed by zero or more calls to {@link #addRange} followed by 54 * a call to {@link #finishUpdate}. 55 */ 56 protected void startUpdate() { 57 mConfigList.clear(); 58 flags |= FLAG_START_UPDATE_CALLED; 59 } 60 61 /** 62 * Called after {@link #startUpdate} to indicate a range of enabled 63 * values. 64 * @param startId the first id included in the range 65 * @param endId the last id included in the range 66 */ 67 protected void addRange(int startId, int endId, boolean selected) { 68 mConfigList.add(new SmsBroadcastConfigInfo(startId, endId, 69 SMS_CB_CODE_SCHEME_MIN, SMS_CB_CODE_SCHEME_MAX, selected)); 70 flags |= FLAG_ADD_RANGE_CALLED; 71 } 72 73 /** 74 * Called to indicate the end of a range update started by the 75 * previous call to {@link #startUpdate}. 76 */ 77 protected boolean finishUpdate() { 78 flags |= FLAG_FINISH_UPDATE_CALLED; 79 return finishUpdateReturnValue; 80 } 81 82 /** Reset the object for the next test case. */ 83 void reset() { 84 flags = 0; 85 mConfigList.clear(); 86 } 87 88 /** overwrite to not call populateAllRanges, so tryAddRanges called by enable 89 * do not populate previously added ranges 90 */ 91 protected boolean tryAddRanges(int startId, int endId, boolean selected) { 92 93 startUpdate(); 94 //populateAllRanges(); 95 // This is the new range to be enabled 96 addRange(startId, endId, selected); // adds to mConfigList 97 return finishUpdate(); 98 } 99 } 100 101 @Test @SmallTest 102 public void testEmptyRangeManager() { 103 TestIntRangeManager testManager = new TestIntRangeManager(); 104 assertEquals("expecting empty configlist", 0, testManager.mConfigList.size()); 105 } 106 107 private void checkConfigInfo(SmsBroadcastConfigInfo info, int fromServiceId, 108 int toServiceId, int fromCodeScheme, int toCodeScheme, boolean selected) { 109 assertEquals("fromServiceId", fromServiceId, info.getFromServiceId()); 110 assertEquals("toServiceId", toServiceId, info.getToServiceId()); 111 assertEquals("fromCodeScheme", fromCodeScheme, info.getFromCodeScheme()); 112 assertEquals("toCodeScheme", toCodeScheme, info.getToCodeScheme()); 113 assertEquals("selected", selected, info.isSelected()); 114 } 115 116 @Test @SmallTest 117 public void testAddSingleChannel() { 118 TestIntRangeManager testManager = new TestIntRangeManager(); 119 assertEquals("flags before test", 0, testManager.flags); 120 assertTrue("enabling range", testManager.enableRange(123, 123, "client1")); 121 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 122 assertEquals("configlist size", 1, testManager.mConfigList.size()); 123 checkConfigInfo(testManager.mConfigList.get(0), 123, 123, SMS_CB_CODE_SCHEME_MIN, 124 SMS_CB_CODE_SCHEME_MAX, true); 125 testManager.reset(); 126 assertTrue("updating ranges", testManager.updateRanges()); 127 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 128 assertEquals("configlist size", 1, testManager.mConfigList.size()); 129 checkConfigInfo(testManager.mConfigList.get(0), 123, 123, SMS_CB_CODE_SCHEME_MIN, 130 SMS_CB_CODE_SCHEME_MAX, true); 131 } 132 133 @Test @SmallTest 134 public void testRemoveSingleChannel() { 135 TestIntRangeManager testManager = new TestIntRangeManager(); 136 assertTrue("enabling range", testManager.enableRange(123, 123, "client1")); 137 assertEquals("flags after enable", ALL_FLAGS_SET, testManager.flags); 138 assertEquals("configlist size", 1, testManager.mConfigList.size()); 139 testManager.reset(); 140 assertTrue("disabling range", testManager.disableRange(123, 123, "client1")); 141 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 142 testManager.flags); 143 assertEquals("configlist size", 0, testManager.mConfigList.size()); 144 testManager.reset(); 145 assertTrue("updating ranges", testManager.updateRanges()); 146 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 147 testManager.flags); 148 assertEquals("configlist size", 0, testManager.mConfigList.size()); 149 } 150 151 @Test @SmallTest 152 public void testRemoveBadChannel() { 153 TestIntRangeManager testManager = new TestIntRangeManager(); 154 assertFalse("disabling missing range", testManager.disableRange(123, 123, "client1")); 155 assertEquals("flags after test", 0, testManager.flags); 156 assertEquals("configlist size", 0, testManager.mConfigList.size()); 157 } 158 159 @Test @SmallTest 160 public void testAddTwoChannels() { 161 TestIntRangeManager testManager = new TestIntRangeManager(); 162 assertEquals("flags before test", 0, testManager.flags); 163 assertTrue("enabling range 1", testManager.enableRange(100, 120, "client1")); 164 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 165 assertEquals("configlist size", 1, testManager.mConfigList.size()); 166 checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN, 167 SMS_CB_CODE_SCHEME_MAX, true); 168 testManager.reset(); 169 assertTrue("enabling range 2", testManager.enableRange(200, 250, "client2")); 170 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 171 assertEquals("configlist size", 1, testManager.mConfigList.size()); 172 checkConfigInfo(testManager.mConfigList.get(0), 200, 250, SMS_CB_CODE_SCHEME_MIN, 173 SMS_CB_CODE_SCHEME_MAX, true); 174 testManager.reset(); 175 assertTrue("updating ranges", testManager.updateRanges()); 176 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 177 assertEquals("configlist size", 2, testManager.mConfigList.size()); 178 checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN, 179 SMS_CB_CODE_SCHEME_MAX, true); 180 checkConfigInfo(testManager.mConfigList.get(1), 200, 250, SMS_CB_CODE_SCHEME_MIN, 181 SMS_CB_CODE_SCHEME_MAX, true); 182 } 183 184 @Test @SmallTest 185 public void testOverlappingChannels() { 186 TestIntRangeManager testManager = new TestIntRangeManager(); 187 assertEquals("flags before test", 0, testManager.flags); 188 assertTrue("enabling range 1", testManager.enableRange(100, 200, "client1")); 189 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 190 assertEquals("configlist size", 1, testManager.mConfigList.size()); 191 checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN, 192 SMS_CB_CODE_SCHEME_MAX, true); 193 testManager.reset(); 194 assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2")); 195 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 196 assertEquals("configlist size", 1, testManager.mConfigList.size()); 197 checkConfigInfo(testManager.mConfigList.get(0), 201, 250, SMS_CB_CODE_SCHEME_MIN, 198 SMS_CB_CODE_SCHEME_MAX, true); 199 testManager.reset(); 200 assertTrue("updating ranges", testManager.updateRanges()); 201 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 202 assertEquals("configlist size", 1, testManager.mConfigList.size()); 203 checkConfigInfo(testManager.mConfigList.get(0), 100, 250, SMS_CB_CODE_SCHEME_MIN, 204 SMS_CB_CODE_SCHEME_MAX, true); 205 testManager.reset(); 206 assertTrue("disabling range 1", testManager.disableRange(100, 200, "client1")); 207 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 208 assertEquals("configlist size", 1, testManager.mConfigList.size()); 209 checkConfigInfo(testManager.mConfigList.get(0), 150, 250, SMS_CB_CODE_SCHEME_MIN, 210 SMS_CB_CODE_SCHEME_MAX, true); 211 testManager.reset(); 212 assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2")); 213 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 214 testManager.flags); 215 assertEquals("configlist size", 0, testManager.mConfigList.size()); 216 testManager.reset(); 217 assertTrue("updating ranges", testManager.updateRanges()); 218 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 219 testManager.flags); 220 assertEquals("configlist size", 0, testManager.mConfigList.size()); 221 } 222 223 @Test @SmallTest 224 public void testOverlappingChannels2() { 225 TestIntRangeManager testManager = new TestIntRangeManager(); 226 assertEquals("flags before test", 0, testManager.flags); 227 assertTrue("enabling range 1", testManager.enableRange(100, 200, "client1")); 228 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 229 assertEquals("configlist size", 1, testManager.mConfigList.size()); 230 checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN, 231 SMS_CB_CODE_SCHEME_MAX, true); 232 testManager.reset(); 233 assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2")); 234 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 235 assertEquals("configlist size", 1, testManager.mConfigList.size()); 236 checkConfigInfo(testManager.mConfigList.get(0), 201, 250, SMS_CB_CODE_SCHEME_MIN, 237 SMS_CB_CODE_SCHEME_MAX, true); 238 testManager.reset(); 239 assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2")); 240 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 241 assertEquals("configlist size", 1, testManager.mConfigList.size()); 242 checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN, 243 SMS_CB_CODE_SCHEME_MAX, true); 244 testManager.reset(); 245 assertTrue("updating ranges", testManager.updateRanges()); 246 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 247 assertEquals("configlist size", 1, testManager.mConfigList.size()); 248 checkConfigInfo(testManager.mConfigList.get(0), 100, 200, SMS_CB_CODE_SCHEME_MIN, 249 SMS_CB_CODE_SCHEME_MAX, true); 250 testManager.reset(); 251 assertTrue("disabling range 1", testManager.disableRange(100, 200, "client1")); 252 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 253 testManager.flags); 254 assertEquals("configlist size", 0, testManager.mConfigList.size()); 255 } 256 257 // new [3, 6] existing [1, 2] [5, 7] 258 @Test @SmallTest 259 public void testOverlappingChannels3() { 260 TestIntRangeManager testManager = new TestIntRangeManager(); 261 assertEquals("flags before test", 0, testManager.flags); 262 assertTrue("enabling range 1", testManager.enableRange(1, 2, "client1")); 263 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 264 assertEquals("configlist size", 1, testManager.mConfigList.size()); 265 checkConfigInfo(testManager.mConfigList.get(0), 1, 2, SMS_CB_CODE_SCHEME_MIN, 266 SMS_CB_CODE_SCHEME_MAX, true); 267 testManager.reset(); 268 assertTrue("enabling range 2", testManager.enableRange(5, 7, "client2")); 269 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 270 assertEquals("configlist size", 1, testManager.mConfigList.size()); 271 checkConfigInfo(testManager.mConfigList.get(0), 5, 7, SMS_CB_CODE_SCHEME_MIN, 272 SMS_CB_CODE_SCHEME_MAX, true); 273 testManager.reset(); 274 assertTrue("enabling range 3", testManager.enableRange(3, 6, "client3")); 275 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 276 assertEquals("configlist size", 1, testManager.mConfigList.size()); 277 checkConfigInfo(testManager.mConfigList.get(0), 3, 4, SMS_CB_CODE_SCHEME_MIN, 278 SMS_CB_CODE_SCHEME_MAX, true); 279 testManager.reset(); 280 assertTrue("updating ranges", testManager.updateRanges()); 281 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 282 assertEquals("configlist size", 1, testManager.mConfigList.size()); 283 checkConfigInfo(testManager.mConfigList.get(0), 1, 7, SMS_CB_CODE_SCHEME_MIN, 284 SMS_CB_CODE_SCHEME_MAX, true); 285 testManager.reset(); 286 287 // test disable 288 testManager.reset(); 289 assertTrue("disabling range", testManager.disableRange(3, 6, "client3")); 290 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 291 assertEquals("configlist size", 2, testManager.mConfigList.size()); 292 checkConfigInfo(testManager.mConfigList.get(0), 1, 2, SMS_CB_CODE_SCHEME_MIN, 293 SMS_CB_CODE_SCHEME_MAX, true); 294 checkConfigInfo(testManager.mConfigList.get(1), 5, 7, SMS_CB_CODE_SCHEME_MIN, 295 SMS_CB_CODE_SCHEME_MAX, true); 296 297 } 298 299 @Test @SmallTest 300 public void testMultipleOverlappingChannels() { 301 TestIntRangeManager testManager = new TestIntRangeManager(); 302 assertEquals("flags before test", 0, testManager.flags); 303 assertTrue("enabling range 1", testManager.enableRange(67, 9999, "client1")); 304 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 305 assertEquals("configlist size", 1, testManager.mConfigList.size()); 306 checkConfigInfo(testManager.mConfigList.get(0), 67, 9999, SMS_CB_CODE_SCHEME_MIN, 307 SMS_CB_CODE_SCHEME_MAX, true); 308 testManager.reset(); 309 assertTrue("enabling range 2", testManager.enableRange(150, 250, "client2")); 310 assertEquals("flags after test", 0, testManager.flags); 311 assertEquals("configlist size", 0, testManager.mConfigList.size()); 312 testManager.reset(); 313 assertTrue("enabling range 3", testManager.enableRange(25, 75, "client3")); 314 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 315 assertEquals("configlist size", 1, testManager.mConfigList.size()); 316 checkConfigInfo(testManager.mConfigList.get(0), 25, 66, SMS_CB_CODE_SCHEME_MIN, 317 SMS_CB_CODE_SCHEME_MAX, true); 318 testManager.reset(); 319 assertTrue("enabling range 4", testManager.enableRange(12, 500, "client4")); 320 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 321 assertEquals("configlist size", 1, testManager.mConfigList.size()); 322 checkConfigInfo(testManager.mConfigList.get(0), 12, 24, SMS_CB_CODE_SCHEME_MIN, 323 SMS_CB_CODE_SCHEME_MAX, true); 324 testManager.reset(); 325 assertTrue("enabling range 5", testManager.enableRange(8000, 9998, "client5")); 326 assertEquals("flags after test", 0, testManager.flags); 327 assertEquals("configlist size", 0, testManager.mConfigList.size()); 328 testManager.reset(); 329 assertTrue("enabling range 6", testManager.enableRange(50000, 65535, "client6")); 330 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 331 assertEquals("configlist size", 1, testManager.mConfigList.size()); 332 checkConfigInfo(testManager.mConfigList.get(0), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 333 SMS_CB_CODE_SCHEME_MAX, true); 334 testManager.reset(); 335 assertTrue("updating ranges", testManager.updateRanges()); 336 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 337 assertEquals("configlist size", 2, testManager.mConfigList.size()); 338 checkConfigInfo(testManager.mConfigList.get(0), 12, 9999, SMS_CB_CODE_SCHEME_MIN, 339 SMS_CB_CODE_SCHEME_MAX, true); 340 checkConfigInfo(testManager.mConfigList.get(1), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 341 SMS_CB_CODE_SCHEME_MAX, true); 342 testManager.reset(); 343 assertTrue("disabling range 1", testManager.disableRange(67, 9999, "client1")); 344 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 345 assertEquals("configlist size", 3, testManager.mConfigList.size()); 346 checkConfigInfo(testManager.mConfigList.get(0), 12, 500, SMS_CB_CODE_SCHEME_MIN, 347 SMS_CB_CODE_SCHEME_MAX, true); 348 checkConfigInfo(testManager.mConfigList.get(1), 8000, 9998, SMS_CB_CODE_SCHEME_MIN, 349 SMS_CB_CODE_SCHEME_MAX, true); 350 checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 351 SMS_CB_CODE_SCHEME_MAX, true); 352 testManager.reset(); 353 assertTrue("updating ranges", testManager.updateRanges()); 354 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 355 assertEquals("configlist size", 3, testManager.mConfigList.size()); 356 checkConfigInfo(testManager.mConfigList.get(0), 12, 500, SMS_CB_CODE_SCHEME_MIN, 357 SMS_CB_CODE_SCHEME_MAX, true); 358 checkConfigInfo(testManager.mConfigList.get(1), 8000, 9998, SMS_CB_CODE_SCHEME_MIN, 359 SMS_CB_CODE_SCHEME_MAX, true); 360 checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 361 SMS_CB_CODE_SCHEME_MAX, true); 362 testManager.reset(); 363 assertTrue("disabling range 4", testManager.disableRange(12, 500, "client4")); 364 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 365 assertEquals("configlist size", 4, testManager.mConfigList.size()); 366 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 367 SMS_CB_CODE_SCHEME_MAX, true); 368 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 369 SMS_CB_CODE_SCHEME_MAX, true); 370 checkConfigInfo(testManager.mConfigList.get(2), 8000, 9998, SMS_CB_CODE_SCHEME_MIN, 371 SMS_CB_CODE_SCHEME_MAX, true); 372 checkConfigInfo(testManager.mConfigList.get(3), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 373 SMS_CB_CODE_SCHEME_MAX, true); 374 testManager.reset(); 375 assertTrue("updating ranges", testManager.updateRanges()); 376 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 377 assertEquals("configlist size", 4, testManager.mConfigList.size()); 378 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 379 SMS_CB_CODE_SCHEME_MAX, true); 380 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 381 SMS_CB_CODE_SCHEME_MAX, true); 382 checkConfigInfo(testManager.mConfigList.get(2), 8000, 9998, SMS_CB_CODE_SCHEME_MIN, 383 SMS_CB_CODE_SCHEME_MAX, true); 384 checkConfigInfo(testManager.mConfigList.get(3), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 385 SMS_CB_CODE_SCHEME_MAX, true); 386 testManager.reset(); 387 assertTrue("disabling range 5", testManager.disableRange(8000, 9998, "client5")); 388 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 389 assertEquals("configlist size", 3, testManager.mConfigList.size()); 390 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 391 SMS_CB_CODE_SCHEME_MAX, true); 392 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 393 SMS_CB_CODE_SCHEME_MAX, true); 394 checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 395 SMS_CB_CODE_SCHEME_MAX, true); 396 testManager.reset(); 397 assertTrue("updating ranges", testManager.updateRanges()); 398 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 399 assertEquals("configlist size", 3, testManager.mConfigList.size()); 400 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 401 SMS_CB_CODE_SCHEME_MAX, true); 402 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 403 SMS_CB_CODE_SCHEME_MAX, true); 404 checkConfigInfo(testManager.mConfigList.get(2), 50000, 65535, SMS_CB_CODE_SCHEME_MIN, 405 SMS_CB_CODE_SCHEME_MAX, true); 406 testManager.reset(); 407 assertTrue("disabling range 6", testManager.disableRange(50000, 65535, "client6")); 408 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 409 assertEquals("configlist size", 2, testManager.mConfigList.size()); 410 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 411 SMS_CB_CODE_SCHEME_MAX, true); 412 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 413 SMS_CB_CODE_SCHEME_MAX, true); 414 testManager.reset(); 415 assertTrue("updating ranges", testManager.updateRanges()); 416 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 417 assertEquals("configlist size", 2, testManager.mConfigList.size()); 418 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 419 SMS_CB_CODE_SCHEME_MAX, true); 420 checkConfigInfo(testManager.mConfigList.get(1), 150, 250, SMS_CB_CODE_SCHEME_MIN, 421 SMS_CB_CODE_SCHEME_MAX, true); 422 testManager.reset(); 423 assertTrue("disabling range 2", testManager.disableRange(150, 250, "client2")); 424 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 425 assertEquals("configlist size", 1, testManager.mConfigList.size()); 426 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 427 SMS_CB_CODE_SCHEME_MAX, true); 428 testManager.reset(); 429 assertTrue("updating ranges", testManager.updateRanges()); 430 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 431 assertEquals("configlist size", 1, testManager.mConfigList.size()); 432 checkConfigInfo(testManager.mConfigList.get(0), 25, 75, SMS_CB_CODE_SCHEME_MIN, 433 SMS_CB_CODE_SCHEME_MAX, true); 434 testManager.reset(); 435 assertTrue("disabling range 3", testManager.disableRange(25, 75, "client3")); 436 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 437 testManager.flags); 438 assertEquals("configlist size", 0, testManager.mConfigList.size()); 439 testManager.reset(); 440 assertTrue("updating ranges", testManager.updateRanges()); 441 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 442 testManager.flags); 443 assertEquals("configlist size", 0, testManager.mConfigList.size()); 444 } 445 446 @Test @SmallTest 447 public void testAddSingleDigitChannels() { 448 TestIntRangeManager testManager = new TestIntRangeManager(); 449 assertEquals("flags before test", 0, testManager.flags); 450 assertTrue("enabling range 1", testManager.enableRange(3, 5, "client1")); 451 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 452 assertEquals("configlist size", 1, testManager.mConfigList.size()); 453 checkConfigInfo(testManager.mConfigList.get(0), 3, 5, SMS_CB_CODE_SCHEME_MIN, 454 SMS_CB_CODE_SCHEME_MAX, true); 455 testManager.reset(); 456 assertTrue("enabling range 2", testManager.enableRange(7, 8, "client2")); 457 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 458 assertEquals("configlist size", 1, testManager.mConfigList.size()); 459 checkConfigInfo(testManager.mConfigList.get(0), 7, 8, SMS_CB_CODE_SCHEME_MIN, 460 SMS_CB_CODE_SCHEME_MAX, true); 461 testManager.reset(); 462 assertTrue("enabling range 3", testManager.enableRange(6, 6, "client3")); 463 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 464 assertEquals("configlist size", 1, testManager.mConfigList.size()); 465 checkConfigInfo(testManager.mConfigList.get(0), 6, 6, SMS_CB_CODE_SCHEME_MIN, 466 SMS_CB_CODE_SCHEME_MAX, true); 467 testManager.reset(); 468 assertTrue("updating ranges", testManager.updateRanges()); 469 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 470 assertEquals("configlist size", 1, testManager.mConfigList.size()); 471 checkConfigInfo(testManager.mConfigList.get(0), 3, 8, SMS_CB_CODE_SCHEME_MIN, 472 SMS_CB_CODE_SCHEME_MAX, true); 473 // test disable 474 testManager.reset(); 475 assertTrue("disable range 3", testManager.disableRange(6, 6, "client3")); 476 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 477 assertEquals("configlist size", 2, testManager.mConfigList.size()); 478 checkConfigInfo(testManager.mConfigList.get(0), 3, 5, SMS_CB_CODE_SCHEME_MIN, 479 SMS_CB_CODE_SCHEME_MAX, true); 480 checkConfigInfo(testManager.mConfigList.get(1), 7, 8, SMS_CB_CODE_SCHEME_MIN, 481 SMS_CB_CODE_SCHEME_MAX, true); 482 // enable 483 testManager.reset(); 484 assertTrue("enabling range 4", testManager.enableRange(6, 12, "client3")); 485 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 486 assertEquals("configlist size", 1, testManager.mConfigList.size()); 487 checkConfigInfo(testManager.mConfigList.get(0), 6, 12, SMS_CB_CODE_SCHEME_MIN, 488 SMS_CB_CODE_SCHEME_MAX, true); 489 testManager.reset(); 490 assertTrue("updating ranges", testManager.updateRanges()); 491 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 492 assertEquals("configlist size", 1, testManager.mConfigList.size()); 493 checkConfigInfo(testManager.mConfigList.get(0), 3, 12, SMS_CB_CODE_SCHEME_MIN, 494 SMS_CB_CODE_SCHEME_MAX, true); 495 // test disable 496 testManager.reset(); 497 assertTrue("disable range 2", testManager.disableRange(7, 8, "client2")); 498 assertEquals("flags after test", 0, testManager.flags); 499 assertEquals("configlist size", 0, testManager.mConfigList.size()); 500 testManager.reset(); 501 assertTrue("updating ranges", testManager.updateRanges()); 502 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 503 assertEquals("configlist size", 1, testManager.mConfigList.size()); 504 checkConfigInfo(testManager.mConfigList.get(0), 3, 12, SMS_CB_CODE_SCHEME_MIN, 505 SMS_CB_CODE_SCHEME_MAX, true); 506 testManager.reset(); 507 assertTrue("disable range 1", testManager.disableRange(3, 5, "client1")); 508 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 509 assertEquals("configlist size", 1, testManager.mConfigList.size()); 510 checkConfigInfo(testManager.mConfigList.get(0), 6, 12, SMS_CB_CODE_SCHEME_MIN, 511 SMS_CB_CODE_SCHEME_MAX, true); 512 testManager.reset(); 513 assertTrue("disable range 4", testManager.disableRange(6, 12, "client3")); 514 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 515 testManager.flags); 516 assertEquals("configlist size", 0, testManager.mConfigList.size()); 517 } 518 519 @Test @SmallTest 520 public void testAddSingleDigitChannels2() { 521 TestIntRangeManager testManager = new TestIntRangeManager(); 522 assertEquals("flags before test", 0, testManager.flags); 523 assertTrue("enabling range 1", testManager.enableRange(2, 2, "client1")); 524 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 525 assertEquals("configlist size", 1, testManager.mConfigList.size()); 526 checkConfigInfo(testManager.mConfigList.get(0), 2, 2, SMS_CB_CODE_SCHEME_MIN, 527 SMS_CB_CODE_SCHEME_MAX, true); 528 testManager.reset(); 529 assertTrue("enabling range 2", testManager.enableRange(1, 1, "client2")); 530 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 531 assertEquals("configlist size", 1, testManager.mConfigList.size()); 532 checkConfigInfo(testManager.mConfigList.get(0), 1, 1, SMS_CB_CODE_SCHEME_MIN, 533 SMS_CB_CODE_SCHEME_MAX, true); 534 testManager.reset(); 535 assertTrue("updating ranges", testManager.updateRanges()); 536 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 537 assertEquals("configlist size", 1, testManager.mConfigList.size()); 538 checkConfigInfo(testManager.mConfigList.get(0), 1, 2, SMS_CB_CODE_SCHEME_MIN, 539 SMS_CB_CODE_SCHEME_MAX, true); 540 } 541 542 @Test @SmallTest 543 public void testAddSingleDigitChannels3() { 544 TestIntRangeManager testManager = new TestIntRangeManager(); 545 assertEquals("flags before test", 0, testManager.flags); 546 assertTrue("enabling range 1", testManager.enableRange(1, 1, "client1")); 547 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 548 assertEquals("configlist size", 1, testManager.mConfigList.size()); 549 checkConfigInfo(testManager.mConfigList.get(0), 1, 1, SMS_CB_CODE_SCHEME_MIN, 550 SMS_CB_CODE_SCHEME_MAX, true); 551 testManager.reset(); 552 assertTrue("enabling range 2", testManager.enableRange(3, 5, "client2")); 553 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 554 assertEquals("configlist size", 1, testManager.mConfigList.size()); 555 checkConfigInfo(testManager.mConfigList.get(0), 3, 5, SMS_CB_CODE_SCHEME_MIN, 556 SMS_CB_CODE_SCHEME_MAX, true); 557 testManager.reset(); 558 assertTrue("enabling range 3", testManager.enableRange(2, 2, "client3")); 559 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 560 assertEquals("configlist size", 1, testManager.mConfigList.size()); 561 checkConfigInfo(testManager.mConfigList.get(0), 2, 2, SMS_CB_CODE_SCHEME_MIN, 562 SMS_CB_CODE_SCHEME_MAX, true); 563 testManager.reset(); 564 assertTrue("updating ranges", testManager.updateRanges()); 565 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 566 assertEquals("configlist size", 1, testManager.mConfigList.size()); 567 checkConfigInfo(testManager.mConfigList.get(0), 1, 5, SMS_CB_CODE_SCHEME_MIN, 568 SMS_CB_CODE_SCHEME_MAX, true); 569 // test disable 570 testManager.reset(); 571 assertTrue("disabling range 1", testManager.disableRange(1, 1, "client1")); 572 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 573 assertEquals("configlist size", 1, testManager.mConfigList.size()); 574 checkConfigInfo(testManager.mConfigList.get(0), 2, 5, SMS_CB_CODE_SCHEME_MIN, 575 SMS_CB_CODE_SCHEME_MAX, true); 576 } 577 578 @Test @SmallTest 579 public void testAddSingleDigitChannels4() { 580 TestIntRangeManager testManager = new TestIntRangeManager(); 581 assertEquals("flags before test", 0, testManager.flags); 582 assertTrue("enabling range 1", testManager.enableRange(1, 1, "client1")); 583 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 584 assertEquals("configlist size", 1, testManager.mConfigList.size()); 585 checkConfigInfo(testManager.mConfigList.get(0), 1, 1, SMS_CB_CODE_SCHEME_MIN, 586 SMS_CB_CODE_SCHEME_MAX, true); 587 testManager.reset(); 588 assertTrue("enabling range 2", testManager.enableRange(2, 2, "client2")); 589 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 590 assertEquals("configlist size", 1, testManager.mConfigList.size()); 591 checkConfigInfo(testManager.mConfigList.get(0), 2, 2, SMS_CB_CODE_SCHEME_MIN, 592 SMS_CB_CODE_SCHEME_MAX, true); 593 testManager.reset(); 594 assertTrue("updating ranges", testManager.updateRanges()); 595 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 596 assertEquals("configlist size", 1, testManager.mConfigList.size()); 597 checkConfigInfo(testManager.mConfigList.get(0), 1, 2, SMS_CB_CODE_SCHEME_MIN, 598 SMS_CB_CODE_SCHEME_MAX, true); 599 // test disable 600 testManager.reset(); 601 assertFalse("disabling range 1", testManager.disableRange(1, 2, "client1")); 602 assertEquals("flags after test", 0, testManager.flags); 603 assertEquals("configlist size",0, testManager.mConfigList.size()); 604 } 605 606 private void verifyAddChannel( 607 TestIntRangeManager testManager, int startId, int endId, String client) { 608 testManager.reset(); 609 assertEquals("flags before test", 0, testManager.flags); 610 assertTrue("enabling range", testManager.enableRange(startId, endId, client)); 611 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 612 assertEquals("configlist size", 1, testManager.mConfigList.size()); 613 checkConfigInfo(testManager.mConfigList.get(0), startId, endId, SMS_CB_CODE_SCHEME_MIN, 614 SMS_CB_CODE_SCHEME_MAX, true); 615 } 616 617 @Test @SmallTest 618 public void testAddSingleDigitChannels5() { 619 TestIntRangeManager testManager = new TestIntRangeManager(); 620 for (int i = 0; i <= 10; i++) { 621 verifyAddChannel(testManager, i, i, "client1"); 622 } 623 testManager.reset(); 624 assertTrue("updating ranges", testManager.updateRanges()); 625 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 626 assertEquals("configlist size", 1, testManager.mConfigList.size()); 627 checkConfigInfo(testManager.mConfigList.get(0), 0, 10, SMS_CB_CODE_SCHEME_MIN, 628 SMS_CB_CODE_SCHEME_MAX, true); 629 630 // test disable 631 testManager.reset(); 632 assertTrue("disabling range", testManager.disableRange(2, 2, "client1")); 633 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 634 assertEquals("configlist size", 2, testManager.mConfigList.size()); 635 checkConfigInfo(testManager.mConfigList.get(0), 0, 1, SMS_CB_CODE_SCHEME_MIN, 636 SMS_CB_CODE_SCHEME_MAX, true); 637 checkConfigInfo(testManager.mConfigList.get(1), 3, 10, SMS_CB_CODE_SCHEME_MIN, 638 SMS_CB_CODE_SCHEME_MAX, true); 639 testManager.reset(); 640 assertTrue("disabling range", testManager.disableRange(9, 9, "client1")); 641 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 642 assertEquals("configlist size", 3, testManager.mConfigList.size()); 643 checkConfigInfo(testManager.mConfigList.get(0), 0, 1, SMS_CB_CODE_SCHEME_MIN, 644 SMS_CB_CODE_SCHEME_MAX, true); 645 checkConfigInfo(testManager.mConfigList.get(1), 3, 8, SMS_CB_CODE_SCHEME_MIN, 646 SMS_CB_CODE_SCHEME_MAX, true); 647 checkConfigInfo(testManager.mConfigList.get(2), 10, 10, SMS_CB_CODE_SCHEME_MIN, 648 SMS_CB_CODE_SCHEME_MAX, true); 649 650 testManager.reset(); 651 assertTrue("enabling range 2", testManager.enableRange(2, 2, "client1")); 652 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 653 assertEquals("configlist size", 1, testManager.mConfigList.size()); 654 checkConfigInfo(testManager.mConfigList.get(0), 2, 2, SMS_CB_CODE_SCHEME_MIN, 655 SMS_CB_CODE_SCHEME_MAX, true); 656 testManager.reset(); 657 assertTrue("updating ranges", testManager.updateRanges()); 658 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 659 assertEquals("configlist size", 2, testManager.mConfigList.size()); 660 checkConfigInfo(testManager.mConfigList.get(0), 0, 8, SMS_CB_CODE_SCHEME_MIN, 661 SMS_CB_CODE_SCHEME_MAX, true); 662 checkConfigInfo(testManager.mConfigList.get(1), 10, 10, SMS_CB_CODE_SCHEME_MIN, 663 SMS_CB_CODE_SCHEME_MAX, true); 664 } 665 666 // new [1, 5] existing [1, 2] [1, 4] [1, 7] [2, 5] 667 @Test @SmallTest 668 public void testClientInsert() { 669 TestIntRangeManager testManager = new TestIntRangeManager(); 670 assertEquals("flags before test", 0, testManager.flags); 671 assertTrue("enabling range 1", testManager.enableRange(1, 2, "client1")); 672 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 673 assertEquals("configlist size", 1, testManager.mConfigList.size()); 674 checkConfigInfo(testManager.mConfigList.get(0), 1, 2, SMS_CB_CODE_SCHEME_MIN, 675 SMS_CB_CODE_SCHEME_MAX, true); 676 testManager.reset(); 677 assertTrue("enabling range 2", testManager.enableRange(1, 4, "client2")); 678 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 679 assertEquals("configlist size", 1, testManager.mConfigList.size()); 680 checkConfigInfo(testManager.mConfigList.get(0), 3, 4, SMS_CB_CODE_SCHEME_MIN, 681 SMS_CB_CODE_SCHEME_MAX, true); 682 testManager.reset(); 683 assertTrue("enabling range 3", testManager.enableRange(2, 5, "client2")); 684 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 685 assertEquals("configlist size", 1, testManager.mConfigList.size()); 686 checkConfigInfo(testManager.mConfigList.get(0), 5, 5, SMS_CB_CODE_SCHEME_MIN, 687 SMS_CB_CODE_SCHEME_MAX, true); 688 testManager.reset(); 689 assertTrue("enabling range 4", testManager.enableRange(1, 7, "client2")); 690 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 691 assertEquals("configlist size", 1, testManager.mConfigList.size()); 692 checkConfigInfo(testManager.mConfigList.get(0), 6, 7, SMS_CB_CODE_SCHEME_MIN, 693 SMS_CB_CODE_SCHEME_MAX, true); 694 testManager.reset(); 695 assertTrue("enabling range 5", testManager.enableRange(1, 5, "client2")); 696 assertEquals("flags after test", 0, testManager.flags); 697 assertEquals("configlist size", 0, testManager.mConfigList.size()); 698 testManager.reset(); 699 assertTrue("updating ranges", testManager.updateRanges()); 700 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 701 assertEquals("configlist size", 1, testManager.mConfigList.size()); 702 checkConfigInfo(testManager.mConfigList.get(0), 1, 7, SMS_CB_CODE_SCHEME_MIN, 703 SMS_CB_CODE_SCHEME_MAX, true); 704 // test disable 705 testManager.reset(); 706 assertTrue("disabling range 5", testManager.disableRange(1, 5, "client2")); 707 assertEquals("flags after test", 0, testManager.flags); 708 assertEquals("configlist size", 0, testManager.mConfigList.size()); 709 testManager.reset(); 710 } 711 712 @Test @SmallTest 713 public void testAddTwoSameChannelsDifferentClient() { 714 TestIntRangeManager testManager = new TestIntRangeManager(); 715 assertEquals("flags before test", 0, testManager.flags); 716 assertTrue("enabling range 1", testManager.enableRange(1, 5, "client1")); 717 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 718 assertEquals("configlist size", 1, testManager.mConfigList.size()); 719 checkConfigInfo(testManager.mConfigList.get(0), 1, 5, SMS_CB_CODE_SCHEME_MIN, 720 SMS_CB_CODE_SCHEME_MAX, true); 721 testManager.reset(); 722 assertTrue("enabling range 2", testManager.enableRange(1, 5, "client2")); 723 assertEquals("flags after test", 0, testManager.flags); 724 assertEquals("configlist size", 0, testManager.mConfigList.size()); 725 726 testManager.reset(); 727 assertTrue("updating ranges", testManager.updateRanges()); 728 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 729 assertEquals("configlist size", 1, testManager.mConfigList.size()); 730 checkConfigInfo(testManager.mConfigList.get(0), 1, 5, SMS_CB_CODE_SCHEME_MIN, 731 SMS_CB_CODE_SCHEME_MAX, true); 732 // now try disabling/deleting "client2" only 733 testManager.reset(); 734 assertTrue("disabling range 1", testManager.disableRange(1, 5, "client2")); 735 assertEquals("flags after test", 0, testManager.flags); 736 assertEquals("configlist size", 0, testManager.mConfigList.size()); 737 testManager.reset(); 738 assertTrue("updating ranges", testManager.updateRanges()); 739 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 740 assertEquals("configlist size", 1, testManager.mConfigList.size()); 741 checkConfigInfo(testManager.mConfigList.get(0), 1, 5, SMS_CB_CODE_SCHEME_MIN, 742 SMS_CB_CODE_SCHEME_MAX, true); 743 } 744 745 @Test @SmallTest 746 public void testAddTwoSameChannelsSameClient() { 747 TestIntRangeManager testManager = new TestIntRangeManager(); 748 assertEquals("flags before test", 0, testManager.flags); 749 assertTrue("enabling range 1", testManager.enableRange(1, 1, "client1")); 750 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 751 assertEquals("configlist size", 1, testManager.mConfigList.size()); 752 checkConfigInfo(testManager.mConfigList.get(0), 1, 1, SMS_CB_CODE_SCHEME_MIN, 753 SMS_CB_CODE_SCHEME_MAX, true); 754 testManager.reset(); 755 assertTrue("enabling range 2", testManager.enableRange(1, 1, "client1")); 756 assertEquals("flags after test", 0, testManager.flags); 757 assertEquals("configlist size", 0, testManager.mConfigList.size()); 758 759 testManager.reset(); 760 assertTrue("updating ranges", testManager.updateRanges()); 761 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 762 assertEquals("configlist size", 1, testManager.mConfigList.size()); 763 checkConfigInfo(testManager.mConfigList.get(0), 1, 1, SMS_CB_CODE_SCHEME_MIN, 764 SMS_CB_CODE_SCHEME_MAX, true); 765 // now try disabling/deleting 766 testManager.reset(); 767 // trying to delete non-existing "client2" 768 assertFalse("disabling range 2", testManager.disableRange(1, 1, "client2")); 769 assertEquals("flags after test", 0, testManager.flags); 770 assertEquals("configlist size", 0, testManager.mConfigList.size()); 771 testManager.reset(); 772 // delete "client1" 773 assertTrue("disabling range 1", testManager.disableRange(1, 1, "client1")); 774 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 775 testManager.flags); 776 assertEquals("configlist size", 0, testManager.mConfigList.size()); 777 testManager.reset(); 778 assertTrue("updating ranges", testManager.updateRanges()); 779 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 780 testManager.flags); 781 assertEquals("configlist size", 0, testManager.mConfigList.size()); 782 } 783 784 @Test @SmallTest 785 public void testAddTwoChannels2() { 786 // test non contiguous case where 2nd range precedes 2nd range 787 TestIntRangeManager testManager = new TestIntRangeManager(); 788 assertEquals("flags before test", 0, testManager.flags); 789 assertTrue("enabling range 1", testManager.enableRange(200, 250, "client1")); 790 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 791 assertEquals("configlist size", 1, testManager.mConfigList.size()); 792 checkConfigInfo(testManager.mConfigList.get(0), 200, 250, SMS_CB_CODE_SCHEME_MIN, 793 SMS_CB_CODE_SCHEME_MAX, true); 794 testManager.reset(); 795 assertTrue("enabling range 2", testManager.enableRange(100, 120, "client1")); 796 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 797 assertEquals("configlist size", 1, testManager.mConfigList.size()); 798 checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN, 799 SMS_CB_CODE_SCHEME_MAX, true); 800 testManager.reset(); 801 assertTrue("updating ranges", testManager.updateRanges()); 802 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 803 assertEquals("configlist size", 2, testManager.mConfigList.size()); 804 checkConfigInfo(testManager.mConfigList.get(0), 100, 120, SMS_CB_CODE_SCHEME_MIN, 805 SMS_CB_CODE_SCHEME_MAX, true); 806 checkConfigInfo(testManager.mConfigList.get(1), 200, 250, SMS_CB_CODE_SCHEME_MIN, 807 SMS_CB_CODE_SCHEME_MAX, true); 808 } 809 810 // new [2, 10] existing [1, 4] [7, 15] 811 @Test @SmallTest 812 public void testAddThreeChannels() { 813 // 3rd range can include first two ranges. Test combine case. 814 TestIntRangeManager testManager = new TestIntRangeManager(); 815 assertEquals("flags before test", 0, testManager.flags); 816 assertTrue("enabling range 1", testManager.enableRange(1, 4, "client1")); 817 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 818 assertEquals("configlist size", 1, testManager.mConfigList.size()); 819 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 820 SMS_CB_CODE_SCHEME_MAX, true); 821 testManager.reset(); 822 assertTrue("enabling range 2", testManager.enableRange(7, 15, "client2")); 823 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 824 assertEquals("configlist size", 1, testManager.mConfigList.size()); 825 checkConfigInfo(testManager.mConfigList.get(0), 7, 15, SMS_CB_CODE_SCHEME_MIN, 826 SMS_CB_CODE_SCHEME_MAX, true); 827 testManager.reset(); 828 assertTrue("enabling range 3", testManager.enableRange(2, 10, "client3")); 829 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 830 assertEquals("configlist size", 1, testManager.mConfigList.size()); 831 checkConfigInfo(testManager.mConfigList.get(0), 5, 6, SMS_CB_CODE_SCHEME_MIN, 832 SMS_CB_CODE_SCHEME_MAX, true); 833 testManager.reset(); 834 assertTrue("updating ranges", testManager.updateRanges()); 835 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 836 assertEquals("configlist size", 1, testManager.mConfigList.size()); 837 checkConfigInfo(testManager.mConfigList.get(0), 1, 15, SMS_CB_CODE_SCHEME_MIN, 838 SMS_CB_CODE_SCHEME_MAX, true); 839 840 //test disable 841 testManager.reset(); 842 assertTrue("disabling range 2", testManager.disableRange(7, 15, "client2")); 843 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 844 assertEquals("configlist size", 1, testManager.mConfigList.size()); 845 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 846 SMS_CB_CODE_SCHEME_MAX, true); 847 testManager.reset(); 848 assertTrue("disabling range 1", testManager.disableRange(1, 4, "client1")); 849 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 850 assertEquals("configlist size", 1, testManager.mConfigList.size()); 851 checkConfigInfo(testManager.mConfigList.get(0), 2, 10, SMS_CB_CODE_SCHEME_MIN, 852 SMS_CB_CODE_SCHEME_MAX, true); 853 testManager.reset(); 854 assertTrue("disabling range 3", testManager.disableRange(2, 10, "client3")); 855 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 856 testManager.flags); 857 assertEquals("configlist size", 0, testManager.mConfigList.size()); 858 } 859 860 @Test @SmallTest 861 public void testAddThreeChannels2() { 862 // 3rd range can include first two ranges. Test combine case. 863 TestIntRangeManager testManager = new TestIntRangeManager(); 864 assertEquals("flags before test", 0, testManager.flags); 865 assertTrue("enabling range 1", testManager.enableRange(2, 3, "client1")); 866 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 867 assertEquals("configlist size", 1, testManager.mConfigList.size()); 868 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 869 SMS_CB_CODE_SCHEME_MAX, true); 870 testManager.reset(); 871 assertTrue("enabling range 2", testManager.enableRange(5, 6, "client2")); 872 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 873 assertEquals("configlist size", 1, testManager.mConfigList.size()); 874 checkConfigInfo(testManager.mConfigList.get(0), 5, 6, SMS_CB_CODE_SCHEME_MIN, 875 SMS_CB_CODE_SCHEME_MAX, true); 876 testManager.reset(); 877 assertTrue("enabling range 3", testManager.enableRange(1, 10, "client3")); 878 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 879 assertEquals("configlist size", 1, testManager.mConfigList.size()); 880 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 881 SMS_CB_CODE_SCHEME_MAX, true); 882 testManager.reset(); 883 assertTrue("updating ranges", testManager.updateRanges()); 884 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 885 assertEquals("configlist size", 1, testManager.mConfigList.size()); 886 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 887 SMS_CB_CODE_SCHEME_MAX, true); 888 889 //test disable: 890 testManager.reset(); 891 assertTrue("disabling range 3", testManager.disableRange(1, 10, "client3")); 892 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 893 assertEquals("configlist size", 2, testManager.mConfigList.size()); 894 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 895 SMS_CB_CODE_SCHEME_MAX, true); 896 checkConfigInfo(testManager.mConfigList.get(1), 5, 6, SMS_CB_CODE_SCHEME_MIN, 897 SMS_CB_CODE_SCHEME_MAX, true); 898 899 testManager.reset(); 900 assertTrue("updating ranges", testManager.updateRanges()); 901 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 902 assertEquals("configlist size", 2, testManager.mConfigList.size()); 903 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 904 SMS_CB_CODE_SCHEME_MAX, true); 905 checkConfigInfo(testManager.mConfigList.get(1), 5, 6, SMS_CB_CODE_SCHEME_MIN, 906 SMS_CB_CODE_SCHEME_MAX, true); 907 908 } 909 910 @Test @SmallTest 911 public void testAddChannels() { 912 TestIntRangeManager testManager = new TestIntRangeManager(); 913 assertEquals("flags before test", 0, testManager.flags); 914 assertTrue("enabling range 1", testManager.enableRange(2, 3, "client1")); 915 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 916 assertEquals("configlist size", 1, testManager.mConfigList.size()); 917 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 918 SMS_CB_CODE_SCHEME_MAX, true); 919 testManager.reset(); 920 assertTrue("enabling range 2", testManager.enableRange(5, 6, "client2")); 921 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 922 assertEquals("configlist size", 1, testManager.mConfigList.size()); 923 checkConfigInfo(testManager.mConfigList.get(0), 5, 6, SMS_CB_CODE_SCHEME_MIN, 924 SMS_CB_CODE_SCHEME_MAX, true); 925 testManager.reset(); 926 assertTrue("enabling range 3", testManager.enableRange(14, 15, "client3")); 927 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 928 assertEquals("configlist size", 1, testManager.mConfigList.size()); 929 checkConfigInfo(testManager.mConfigList.get(0), 14, 15, SMS_CB_CODE_SCHEME_MIN, 930 SMS_CB_CODE_SCHEME_MAX, true); 931 testManager.reset(); 932 assertTrue("enabling range 4", testManager.enableRange(1, 10, "client4")); 933 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 934 assertEquals("configlist size", 1, testManager.mConfigList.size()); 935 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 936 SMS_CB_CODE_SCHEME_MAX, true); 937 testManager.reset(); 938 assertTrue("updating ranges", testManager.updateRanges()); 939 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 940 assertEquals("configlist size", 2, testManager.mConfigList.size()); 941 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 942 SMS_CB_CODE_SCHEME_MAX, true); 943 checkConfigInfo(testManager.mConfigList.get(1), 14, 15, SMS_CB_CODE_SCHEME_MIN, 944 SMS_CB_CODE_SCHEME_MAX, true); 945 // test disable 946 testManager.reset(); 947 assertTrue("disabling range 4", testManager.disableRange(1, 10, "client4")); 948 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 949 assertEquals("configlist size", 3, testManager.mConfigList.size()); 950 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 951 SMS_CB_CODE_SCHEME_MAX, true); 952 checkConfigInfo(testManager.mConfigList.get(1), 5, 6, SMS_CB_CODE_SCHEME_MIN, 953 SMS_CB_CODE_SCHEME_MAX, true); 954 checkConfigInfo(testManager.mConfigList.get(2), 14, 15, SMS_CB_CODE_SCHEME_MIN, 955 SMS_CB_CODE_SCHEME_MAX, true); 956 } 957 958 @Test @SmallTest 959 public void testAddChannels2() { 960 TestIntRangeManager testManager = new TestIntRangeManager(); 961 assertEquals("flags before test", 0, testManager.flags); 962 assertTrue("enabling range 1", testManager.enableRange(2, 3, "client1")); 963 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 964 assertEquals("configlist size", 1, testManager.mConfigList.size()); 965 checkConfigInfo(testManager.mConfigList.get(0), 2, 3, SMS_CB_CODE_SCHEME_MIN, 966 SMS_CB_CODE_SCHEME_MAX, true); 967 testManager.reset(); 968 assertTrue("enabling range 2", testManager.enableRange(5, 15, "client2")); 969 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 970 assertEquals("configlist size", 1, testManager.mConfigList.size()); 971 checkConfigInfo(testManager.mConfigList.get(0), 5, 15, SMS_CB_CODE_SCHEME_MIN, 972 SMS_CB_CODE_SCHEME_MAX, true); 973 testManager.reset(); 974 assertTrue("enabling range 3", testManager.enableRange(1, 10, "client3")); 975 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 976 assertEquals("configlist size", 1, testManager.mConfigList.size()); 977 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 978 SMS_CB_CODE_SCHEME_MAX, true); 979 testManager.reset(); 980 assertTrue("updating ranges", testManager.updateRanges()); 981 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 982 assertEquals("configlist size", 1, testManager.mConfigList.size()); 983 checkConfigInfo(testManager.mConfigList.get(0), 1, 15, SMS_CB_CODE_SCHEME_MIN, 984 SMS_CB_CODE_SCHEME_MAX, true); 985 // test disable 986 testManager.reset(); 987 assertTrue("disabling range 2", testManager.disableRange(5, 15, "client2")); 988 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 989 assertEquals("configlist size", 1, testManager.mConfigList.size()); 990 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 991 SMS_CB_CODE_SCHEME_MAX, true); 992 testManager.reset(); 993 assertTrue("disabling range 1", testManager.disableRange(2, 3, "client1")); 994 assertEquals("flags after test", 0, testManager.flags); 995 assertEquals("configlist size", 0, testManager.mConfigList.size()); 996 testManager.reset(); 997 assertTrue("disabling range 3", testManager.disableRange(1, 10, "client3")); 998 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 999 testManager.flags); 1000 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1001 } 1002 1003 @Test @SmallTest 1004 public void testAddChannels3() { 1005 TestIntRangeManager testManager = new TestIntRangeManager(); 1006 assertEquals("flags before test", 0, testManager.flags); 1007 assertTrue("enabling range 1", testManager.enableRange(1, 4, "client1")); 1008 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1009 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1010 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 1011 SMS_CB_CODE_SCHEME_MAX, true); 1012 testManager.reset(); 1013 assertEquals("flags before test", 0, testManager.flags); 1014 assertTrue("enabling range 2", testManager.enableRange(7, 8, "client2")); 1015 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1016 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1017 checkConfigInfo(testManager.mConfigList.get(0), 7, 8, SMS_CB_CODE_SCHEME_MIN, 1018 SMS_CB_CODE_SCHEME_MAX, true); 1019 testManager.reset(); 1020 assertTrue("enabling range 3", testManager.enableRange(2, 10, "client3")); 1021 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1022 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1023 checkConfigInfo(testManager.mConfigList.get(0), 5, 10, SMS_CB_CODE_SCHEME_MIN, 1024 SMS_CB_CODE_SCHEME_MAX, true); 1025 testManager.reset(); 1026 assertTrue("updating ranges", testManager.updateRanges()); 1027 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1028 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1029 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 1030 SMS_CB_CODE_SCHEME_MAX, true); 1031 // test disable 1032 testManager.reset(); 1033 assertEquals("flags before test", 0, testManager.flags); 1034 assertTrue("disabling range 2", testManager.disableRange(7, 8, "client2")); 1035 assertEquals("flags after test", 0, testManager.flags); 1036 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1037 } 1038 1039 @Test @SmallTest 1040 public void testAddChannels4() { 1041 // new [2, 10] existing [1, 4] [6, 6] [8, 9] [12, 14] 1042 TestIntRangeManager testManager = new TestIntRangeManager(); 1043 assertEquals("flags before test", 0, testManager.flags); 1044 assertTrue("enabling range 1", testManager.enableRange(1, 4, "client1")); 1045 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1046 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1047 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 1048 SMS_CB_CODE_SCHEME_MAX, true); 1049 testManager.reset(); 1050 assertEquals("flags before test", 0, testManager.flags); 1051 assertTrue("enabling range 2", testManager.enableRange(6, 6, "client2")); 1052 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1053 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1054 checkConfigInfo(testManager.mConfigList.get(0), 6, 6, SMS_CB_CODE_SCHEME_MIN, 1055 SMS_CB_CODE_SCHEME_MAX, true); 1056 testManager.reset(); 1057 assertEquals("flags before test", 0, testManager.flags); 1058 assertTrue("enabling range 3", testManager.enableRange(8, 9, "client3")); 1059 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1060 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1061 checkConfigInfo(testManager.mConfigList.get(0), 8, 9, SMS_CB_CODE_SCHEME_MIN, 1062 SMS_CB_CODE_SCHEME_MAX, true); 1063 testManager.reset(); 1064 assertEquals("flags before test", 0, testManager.flags); 1065 assertTrue("enabling range 4", testManager.enableRange(12, 14, "client4")); 1066 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1067 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1068 checkConfigInfo(testManager.mConfigList.get(0), 12, 14, SMS_CB_CODE_SCHEME_MIN, 1069 SMS_CB_CODE_SCHEME_MAX, true); 1070 testManager.reset(); 1071 assertTrue("enabling range 5", testManager.enableRange(2, 10, "client5")); 1072 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1073 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1074 checkConfigInfo(testManager.mConfigList.get(0), 5, 10, SMS_CB_CODE_SCHEME_MIN, 1075 SMS_CB_CODE_SCHEME_MAX, true); 1076 testManager.reset(); 1077 assertTrue("updating ranges", testManager.updateRanges()); 1078 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1079 assertEquals("configlist size", 2, testManager.mConfigList.size()); 1080 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 1081 SMS_CB_CODE_SCHEME_MAX, true); 1082 checkConfigInfo(testManager.mConfigList.get(1), 12, 14, SMS_CB_CODE_SCHEME_MIN, 1083 SMS_CB_CODE_SCHEME_MAX, true); 1084 1085 // test disable 1086 testManager.reset(); 1087 assertTrue("disabling range", testManager.disableRange(8, 9, "client3")); 1088 assertEquals("flags after test", 0, testManager.flags); 1089 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1090 testManager.reset(); 1091 assertTrue("updating ranges", testManager.updateRanges()); 1092 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1093 assertEquals("configlist size", 2, testManager.mConfigList.size()); 1094 checkConfigInfo(testManager.mConfigList.get(0), 1, 10, SMS_CB_CODE_SCHEME_MIN, 1095 SMS_CB_CODE_SCHEME_MAX, true); 1096 checkConfigInfo(testManager.mConfigList.get(1), 12, 14, SMS_CB_CODE_SCHEME_MIN, 1097 SMS_CB_CODE_SCHEME_MAX, true); 1098 testManager.reset(); 1099 assertTrue("disabling range", testManager.disableRange(2, 10, "client5")); 1100 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1101 assertEquals("configlist size", 3, testManager.mConfigList.size()); 1102 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 1103 SMS_CB_CODE_SCHEME_MAX, true); 1104 checkConfigInfo(testManager.mConfigList.get(1), 6, 6, SMS_CB_CODE_SCHEME_MIN, 1105 SMS_CB_CODE_SCHEME_MAX, true); 1106 checkConfigInfo(testManager.mConfigList.get(2), 12, 14, SMS_CB_CODE_SCHEME_MIN, 1107 SMS_CB_CODE_SCHEME_MAX, true); 1108 testManager.reset(); 1109 assertTrue("updating ranges", testManager.updateRanges()); 1110 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1111 assertEquals("configlist size", 3, testManager.mConfigList.size()); 1112 checkConfigInfo(testManager.mConfigList.get(0), 1, 4, SMS_CB_CODE_SCHEME_MIN, 1113 SMS_CB_CODE_SCHEME_MAX, true); 1114 checkConfigInfo(testManager.mConfigList.get(1), 6, 6, SMS_CB_CODE_SCHEME_MIN, 1115 SMS_CB_CODE_SCHEME_MAX, true); 1116 checkConfigInfo(testManager.mConfigList.get(2), 12, 14, SMS_CB_CODE_SCHEME_MIN, 1117 SMS_CB_CODE_SCHEME_MAX, true); 1118 } 1119 1120 @Test @SmallTest 1121 public void testAddChannels5() { 1122 // range already enclosed in existing: new [3, 3], [1,3] 1123 TestIntRangeManager testManager = new TestIntRangeManager(); 1124 assertEquals("flags before test", 0, testManager.flags); 1125 assertTrue("enabling range 1", testManager.enableRange(1, 3, "client1")); 1126 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1127 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1128 checkConfigInfo(testManager.mConfigList.get(0), 1, 3, SMS_CB_CODE_SCHEME_MIN, 1129 SMS_CB_CODE_SCHEME_MAX, true); 1130 testManager.reset(); 1131 assertEquals("flags before test", 0, testManager.flags); 1132 assertTrue("enabling range 2", testManager.enableRange(3, 3, "client1")); 1133 assertEquals("flags after test", 0, testManager.flags); 1134 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1135 testManager.reset(); 1136 assertTrue("updating ranges", testManager.updateRanges()); 1137 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1138 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1139 checkConfigInfo(testManager.mConfigList.get(0), 1, 3, SMS_CB_CODE_SCHEME_MIN, 1140 SMS_CB_CODE_SCHEME_MAX, true); 1141 1142 // test disable 1143 testManager.reset(); 1144 assertTrue("disabling range", testManager.disableRange(3, 3, "client1")); 1145 assertEquals("flags after test", 0, testManager.flags); 1146 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1147 testManager.reset(); 1148 assertTrue("updating ranges", testManager.updateRanges()); 1149 assertEquals("flags after test", ALL_FLAGS_SET, testManager.flags); 1150 assertEquals("configlist size", 1, testManager.mConfigList.size()); 1151 checkConfigInfo(testManager.mConfigList.get(0), 1, 3, SMS_CB_CODE_SCHEME_MIN, 1152 SMS_CB_CODE_SCHEME_MAX, true); 1153 testManager.reset(); 1154 assertTrue("disabling range", testManager.disableRange(1, 3, "client1")); 1155 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 1156 testManager.flags); 1157 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1158 testManager.reset(); 1159 assertTrue("updating ranges", testManager.updateRanges()); 1160 assertEquals("flags after test", FLAG_START_UPDATE_CALLED | FLAG_FINISH_UPDATE_CALLED, 1161 testManager.flags); 1162 assertEquals("configlist size", 0, testManager.mConfigList.size()); 1163 } 1164} 1165