void BitVector_Test::Test_bitVectorCtors() { { BitVector<10> bv; assert(bv.Read(0,10)==0); } { BitVector<30> bv; assert(bv.Read(0,30)==0); } { BitVector<60> bv; assert(bv.ReadLong(0,60)==0); } { BitVector<12> bv(0x1234); assert(bv.Read(0,12)==0x234); } { BitVector<30> bv(0xdeadbeef); assert(bv.Read(0,30)==0x1eadbeef); } { BitVector<60> bv(0xdeadbeef); assert(bv.ReadLong(0,60)==0xdeadbeef); } }
void BitVector_Test::Test_bitVectorLong() { BitVector<256>* bits = setup(); assert(bits->ReadLong(16, 64) == HexU64(0x13571112,0x13141234)); assert(bits->ReadLong(0, 32) == HexU64(0x0,0x24681357)); assert(bits->ReadLong(96, 32) == HexU64(0x0,0x9abcdef0)); assert(bits->ReadLong(160, 36) == HexU64(0x8,0x76543214)); bits->WriteLong(16,64,HexU64(0x13000012,0x13141234)); assert(bits->ReadLong(16, 64) == HexU64(0x13000012,0x13141234)); bits->WriteLong(24,16,0x5711L); assert(bits->ReadLong(16, 64) == HexU64(0x13571112,0x13141234)); bits->WriteLong(192,64,0x0L); assert(bits->ReadLong(160, 64) == HexU64(0x87654321,0x00000000)); assert(bits->ReadLong(192, 64) == 0x0L); bits->WriteLong(192,64,(u64) -1L); assert(bits->ReadLong(192, 64) == (u64) -1L); }