diff options
Diffstat (limited to 'src/bit_io_unittest.cc')
-rw-r--r-- | src/bit_io_unittest.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/bit_io_unittest.cc b/src/bit_io_unittest.cc index 87fc3f1..de5f0a7 100644 --- a/src/bit_io_unittest.cc +++ b/src/bit_io_unittest.cc @@ -62,4 +62,26 @@ TEST(BitIOTest, BitWriterAndBitReaderTest) { ASSERT_FALSE(br.CacheBits(1)); } +TEST(BitIOTest, BitsRemaining) { + const size_t kSize = 5; + uint8_t buf[kSize]; + + BufferBitReader br(buf, kSize); + EXPECT_EQ(br.BitsRemaining(), 40); + ASSERT_TRUE(br.CacheBits(1)); + br.DropBits(1); + EXPECT_EQ(br.BitsRemaining(), 39); + + ASSERT_TRUE(br.CacheBits(7)); + br.DropBits(7); + EXPECT_EQ(br.BitsRemaining(), 32); + + ASSERT_TRUE(br.CacheBits(31)); + br.DropBits(31); + EXPECT_EQ(br.BitsRemaining(), 1); + + ASSERT_TRUE(br.CacheBits(1)); + br.DropBits(1); + EXPECT_EQ(br.BitsRemaining(), 0); +} } // namespace puffin |