| 436 | #ifdef UNITTEST_CBITARRAY |
| 437 | |
| 438 | int main() |
| 439 | { |
| 440 | int passed = true; |
| 441 | // Start by testing the cRawBitArray class. |
| 442 | |
| 443 | // Test default constructor. |
| 444 | cRawBitArray bit_array1; |
| 445 | bit_array1.ResizeClear(10); |
| 446 | for (int i = 0; i < 10; i++) { |
| 447 | if (bit_array1.GetBit(i) != false) { |
| 448 | passed = false; |
| 449 | cerr << "ERROR in testing bit that should be cleared by ResizeClear()!" |
| 450 | << endl; |
| 451 | } |
| 452 | } |
| 453 | |
| 454 | //bit_array1.Print(10); |
| 455 | |
| 456 | bit_array1.SetBit(1, true); |
| 457 | bit_array1.SetBit(3, true); |
| 458 | bit_array1.SetBit(5, true); |
| 459 | bit_array1.SetBit(7, true); |
| 460 | bit_array1.SetBit(9, true); |
| 461 | |
| 462 | for (int i = 0; i < 10; i++) { |
| 463 | bool bit_value = !(2*(i/2) == i); |
| 464 | if (bit_array1.GetBit(i) != bit_value) { |
| 465 | passed = false; |
| 466 | cerr << "ERROR in testing bits after SetBit() was run on them!" |
| 467 | << endl; |
| 468 | } |
| 469 | } |
| 470 | |
| 471 | //bit_array1.Print(10); |
| 472 | bit_array1.SetBit(0, true); |
| 473 | bit_array1.SetBit(1, false); |
| 474 | bit_array1.SetBit(5, false); |
| 475 | bit_array1.SetBit(6, true); |
| 476 | bit_array1.SetBit(7, false); |
| 477 | //bit_array1.Print(10); |
| 478 | |
| 479 | for (int i = 0; i < 10; i++) { |
| 480 | bool bit_value = (3*(i/3) == i); |
| 481 | if (bit_array1.GetBit(i) != bit_value) { |
| 482 | passed = false; |
| 483 | cerr << "ERROR in testing bits after second round of SetBit() was run!" |
| 484 | << endl; |
| 485 | } |
| 486 | } |
| 487 | |
| 488 | // Test constructor with initial size < 32. |
| 489 | cRawBitArray bit_array2(26); |
| 490 | for (int i = 0; i < 26; i++) { |
| 491 | if (bit_array2.GetBit(i) != false) { |
| 492 | passed = false; |
| 493 | cerr << "ERROR in testing bit that should be cleared by constructor()!" |
| 494 | << endl; |
| 495 | } |
nothing calls this directly
no test coverage detected