45 lines
978 B
C
45 lines
978 B
C
|
#include <bitarray.h>
|
||
|
#include <cxxtest/TestSuite.h>
|
||
|
|
||
|
class TestBitArray : public CxxTest::TestSuite
|
||
|
{
|
||
|
public:
|
||
|
void test_set_get()
|
||
|
{
|
||
|
BitArray b;
|
||
|
|
||
|
TS_ASSERT_EQUALS(b.item(2), false);
|
||
|
TS_ASSERT_EQUALS(b.item(3), false);
|
||
|
|
||
|
b.set(2, true);
|
||
|
TS_ASSERT_EQUALS(b.item(2), true);
|
||
|
TS_ASSERT_EQUALS(b.item(3), false);
|
||
|
|
||
|
b.set(3, true);
|
||
|
TS_ASSERT_EQUALS(b.item(2), true);
|
||
|
TS_ASSERT_EQUALS(b.item(3), true);
|
||
|
|
||
|
TS_ASSERT_EQUALS(b.item(31), false);
|
||
|
b.set(31, true);
|
||
|
TS_ASSERT_EQUALS(b.item(31), true);
|
||
|
}
|
||
|
|
||
|
void test_last_set()
|
||
|
{
|
||
|
BitArray b;
|
||
|
TS_ASSERT_EQUALS(b.last_set(), -1);
|
||
|
|
||
|
b.set(2, true);
|
||
|
TS_ASSERT_EQUALS(b.last_set(), 2);
|
||
|
|
||
|
b.set(30, true);
|
||
|
TS_ASSERT_EQUALS(b.last_set(), 30);
|
||
|
|
||
|
b.set(25, true);
|
||
|
TS_ASSERT_EQUALS(b.last_set(), 30);
|
||
|
|
||
|
b.set(30, false);
|
||
|
TS_ASSERT_EQUALS(b.last_set(), 25);
|
||
|
}
|
||
|
};
|