MCPcopy Create free account
hub / github.com/devosoft/avida / main

Function main

avida-core/source/tools/cBitArray.cc:438–776  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

436#ifdef UNITTEST_CBITARRAY
437
438int 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 }

Callers

nothing calls this directly

Calls 15

SetBitMethod · 0.80
INCREMENTMethod · 0.80
ResizeClearMethod · 0.45
GetBitMethod · 0.45
CopyMethod · 0.45
CountBitsMethod · 0.45
CountBits2Method · 0.45
ResizeMethod · 0.45
NOTMethod · 0.45
ANDMethod · 0.45
ORMethod · 0.45
NANDMethod · 0.45

Tested by

no test coverage detected