void BitVector_Test::Test_bitVectorWrite() { BitVector<256>* bits = setup(); bits->Write(16, 32, 0xa0a0b0b0); assert(bits->Read(0, 32) == 0x2468a0a0); assert(bits->Read(32, 32) == 0xb0b01314); assert(bits->Read(224, 32) == 0xfedbca09); // WriteBig { BitVector<256>* bb = setup(); u32 fooBits[] = {0xabc123ee,0x55667788,0x01020304}; BV96 foo(fooBits); bb->WriteBig(0,32,foo); assert(bits->Read(0, 32) == 0xabc123ee); assert(bits->Read(32, 32) == 0x11121314); assert(bits->Read(64, 32) == 0x12345678); bb->WriteBig(64,64,foo); assert(bits->Read(0, 32) == 0xabc123ee); assert(bits->Read(32, 32) == 0x11121314); assert(bits->Read(64, 32) == 0xabc123ee); assert(bits->Read(96, 32) == 0x55667788); assert(bits->Read(128, 32) == 0x0fedcba9); bb->WriteBig(32,96,foo); assert(bits->Read(0, 32) == 0xabc123ee); assert(bits->Read(32, 32) == 0xabc123ee); assert(bits->Read(64, 32) == 0x55667788); assert(bits->Read(96, 32) == 0x01020304); assert(bits->Read(128, 32) == 0x0fedcba9); } }