TEST(ClusteredBitVector, FlipAllSmall) { ClusteredBitVector vec; vec.appendClearBits(48); EXPECT_EQ(false, vec[12]); EXPECT_EQ(0u, vec.count()); vec.flipAll(); EXPECT_EQ(true, vec[12]); EXPECT_EQ(48u, vec.count()); vec.clearBit(7); EXPECT_EQ(true, vec[12]); EXPECT_EQ(false, vec[7]); EXPECT_EQ(47u, vec.count()); vec.flipAll(); EXPECT_EQ(false, vec[12]); EXPECT_EQ(true, vec[7]); EXPECT_EQ(1u, vec.count()); }
TEST(ClusteredBitVector, FlipAllBig) { ClusteredBitVector vec; vec.appendClearBits(163); EXPECT_EQ(false, vec[12]); EXPECT_EQ(0u, vec.count()); vec.flipAll(); EXPECT_EQ(true, vec[12]); EXPECT_EQ(163u, vec.count()); vec.clearBit(7); EXPECT_EQ(true, vec[12]); EXPECT_EQ(false, vec[7]); EXPECT_EQ(162u, vec.count()); vec.flipAll(); EXPECT_EQ(false, vec[12]); EXPECT_EQ(true, vec[7]); EXPECT_EQ(1u, vec.count()); }
TEST(ClusteredBitVector, SetClearBit) { ClusteredBitVector vec; vec.appendClearBits(64); vec.setBit(3); vec.setBit(7); vec.setBit(7); vec.setBit(63); EXPECT_EQ(3u, vec.count()); EXPECT_EQ(true, vec[3]); EXPECT_EQ(true, vec[7]); EXPECT_EQ(true, vec[63]); EXPECT_EQ(false, vec[0]); EXPECT_EQ(false, vec[14]); EXPECT_EQ(false, vec[62]); vec.clearBit(63); EXPECT_EQ(2u, vec.count()); EXPECT_EQ(false, vec[63]); }