view TestBitArray.cpp @ 47:b23f04d4a276

Test a custom BitArray.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Mon, 10 Sep 2012 23:59:05 +0200
parents
children 0bd3c1c46251
line wrap: on
line source

#include "BitArray.hpp"
#include "TestFramework.hpp"

#include <QtCore/QDebug>

BOOST_AUTO_TEST_CASE( TestBasic )
{
  {
    BitArray tbits(16, true);
    BitArray fbits(16, false);
    for (uint i = 0; i < tbits.size(); ++i) {
      BOOST_REQUIRE_EQUAL(tbits.testBit(i), true);
      BOOST_REQUIRE_EQUAL(fbits.testBit(i), false);
    }
  }

  {
    BitArray tbits(9, true);
    BitArray fbits(9, false);
    for (uint i = 0; i < tbits.size(); ++i) {
      BOOST_REQUIRE_EQUAL(tbits.testBit(i), true);
      BOOST_REQUIRE_EQUAL(fbits.testBit(i), false);
    }
  }

  {
    BitArray tbits(13, true);
    BitArray fbits(13, false);
    for (uint i = 0; i < tbits.size(); ++i) {
      BOOST_REQUIRE_EQUAL(tbits.testBit(i), true);
      BOOST_REQUIRE_EQUAL(fbits.testBit(i), false);
    }
  }

}


BOOST_AUTO_TEST_CASE( TestSetBit )
{

  for (uint i = 0; i < 13; ++i) {
    BitArray tbits(13, true);
    BitArray fbits(13, false);
    tbits.setBit(i, false);
    fbits.setBit(i, true);
    for (uint j = 0; j < tbits.size(); ++j) {
      BOOST_REQUIRE_EQUAL(tbits.testBit(j), i != j);
      BOOST_REQUIRE_EQUAL(fbits.testBit(j), i == j);
    }
  }

}