| 10 | namespace toft { |
| 11 | |
| 12 | TEST(VarintTest, Varint32) { |
| 13 | std::string s; |
| 14 | for (uint32_t i = 0; i < (32 * 32); i++) { |
| 15 | uint32_t v = (i / 32) << (i % 32); |
| 16 | Varint::Put32(&s, v); |
| 17 | } |
| 18 | |
| 19 | const char* p = s.data(); |
| 20 | const char* limit = p + s.size(); |
| 21 | for (uint32_t i = 0; i < (32 * 32); i++) { |
| 22 | uint32_t expected = (i / 32) << (i % 32); |
| 23 | uint32_t actual; |
| 24 | const char* start = p; |
| 25 | p = Varint::Decode32(p, limit, &actual); |
| 26 | ASSERT_TRUE(p != NULL); |
| 27 | ASSERT_EQ(expected, actual); |
| 28 | ASSERT_EQ(Varint::EncodedLength(actual), p - start); |
| 29 | } |
| 30 | ASSERT_EQ(p, s.data() + s.size()); |
| 31 | } |
| 32 | |
| 33 | TEST(VarintTest, Varint64) { |
| 34 | // Construct the list of values to check |
nothing calls this directly
no test coverage detected