diff options
Diffstat (limited to 'pw_varint/varint_test.cc')
-rw-r--r-- | pw_varint/varint_test.cc | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/pw_varint/varint_test.cc b/pw_varint/varint_test.cc index a359f849a..dfae0f7a6 100644 --- a/pw_varint/varint_test.cc +++ b/pw_varint/varint_test.cc @@ -38,20 +38,23 @@ size_t pw_varint_CallZigZagDecode(void* input, } // extern "C" -class Varint : public ::testing::Test { +class VarintWithBuffer : public ::testing::Test { protected: - Varint() : buffer_ { - std::byte{'a'}, std::byte{'b'}, std::byte{'c'}, std::byte{'d'}, - std::byte{'e'}, std::byte{'f'}, std::byte{'g'}, std::byte{'h'}, - std::byte{'i'}, std::byte { - 'j' - } - } - {} + VarintWithBuffer() + : buffer_{std::byte{'a'}, + std::byte{'b'}, + std::byte{'c'}, + std::byte{'d'}, + std::byte{'e'}, + std::byte{'f'}, + std::byte{'g'}, + std::byte{'h'}, + std::byte{'i'}, + std::byte{'j'}} {} std::byte buffer_[10]; }; -TEST_F(Varint, EncodeSizeUnsigned32_SmallSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_SmallSingleByte) { ASSERT_EQ(1u, Encode(UINT32_C(0), buffer_)); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, Encode(UINT32_C(1), buffer_)); @@ -60,7 +63,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_SmallSingleByte) { EXPECT_EQ(std::byte{2}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned32_SmallSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_SmallSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallEncode(UINT32_C(0), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, pw_varint_CallEncode(UINT32_C(1), buffer_, sizeof(buffer_))); @@ -69,7 +72,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_SmallSingleByte_C) { EXPECT_EQ(std::byte{2}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned32_LargeSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_LargeSingleByte) { ASSERT_EQ(1u, Encode(UINT32_C(63), buffer_)); EXPECT_EQ(std::byte{63}, buffer_[0]); ASSERT_EQ(1u, Encode(UINT32_C(64), buffer_)); @@ -80,7 +83,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_LargeSingleByte) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned32_LargeSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_LargeSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallEncode(UINT32_C(63), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{63}, buffer_[0]); ASSERT_EQ(1u, pw_varint_CallEncode(UINT32_C(64), buffer_, sizeof(buffer_))); @@ -91,7 +94,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_LargeSingleByte_C) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned32_MultiByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_MultiByte) { ASSERT_EQ(2u, Encode(UINT32_C(128), buffer_)); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, Encode(UINT32_C(129), buffer_)); @@ -104,7 +107,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_MultiByte) { EXPECT_EQ(std::memcmp("\xff\xff\xff\xff\x0f", buffer_, 5), 0); } -TEST_F(Varint, EncodeSizeUnsigned32_MultiByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned32_MultiByte_C) { ASSERT_EQ(2u, pw_varint_CallEncode(UINT32_C(128), buffer_, sizeof(buffer_))); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, pw_varint_CallEncode(UINT32_C(129), buffer_, sizeof(buffer_))); @@ -123,7 +126,7 @@ TEST_F(Varint, EncodeSizeUnsigned32_MultiByte_C) { EXPECT_EQ(std::memcmp("\xff\xff\xff\xff\x0f", buffer_, 5), 0); } -TEST_F(Varint, EncodeSizeSigned32_SmallSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_SmallSingleByte) { ASSERT_EQ(1u, Encode(INT32_C(0), buffer_)); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, Encode(INT32_C(-1), buffer_)); @@ -136,7 +139,7 @@ TEST_F(Varint, EncodeSizeSigned32_SmallSingleByte) { EXPECT_EQ(std::byte{4}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned32_SmallSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_SmallSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallZigZagEncode(INT32_C(0), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{0}, buffer_[0]); @@ -154,7 +157,7 @@ TEST_F(Varint, EncodeSizeSigned32_SmallSingleByte_C) { EXPECT_EQ(std::byte{4}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned32_LargeSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_LargeSingleByte) { ASSERT_EQ(1u, Encode(INT32_C(-63), buffer_)); EXPECT_EQ(std::byte{125}, buffer_[0]); ASSERT_EQ(1u, Encode(INT32_C(63), buffer_)); @@ -163,7 +166,7 @@ TEST_F(Varint, EncodeSizeSigned32_LargeSingleByte) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned32_LargeSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_LargeSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallZigZagEncode(INT32_C(-63), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{125}, buffer_[0]); @@ -175,7 +178,7 @@ TEST_F(Varint, EncodeSizeSigned32_LargeSingleByte_C) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned32_MultiByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_MultiByte) { ASSERT_EQ(2u, Encode(INT32_C(64), buffer_)); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, Encode(INT32_C(-65), buffer_)); @@ -190,7 +193,7 @@ TEST_F(Varint, EncodeSizeSigned32_MultiByte) { EXPECT_EQ(std::memcmp("\xfe\xff\xff\xff\x0f", buffer_, 5), 0); } -TEST_F(Varint, EncodeSizeSigned32_MultiByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned32_MultiByte_C) { ASSERT_EQ(2u, pw_varint_CallZigZagEncode(INT32_C(64), buffer_, sizeof(buffer_))); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); @@ -212,7 +215,7 @@ TEST_F(Varint, EncodeSizeSigned32_MultiByte_C) { EXPECT_EQ(std::memcmp("\xfe\xff\xff\xff\x0f", buffer_, 5), 0); } -TEST_F(Varint, EncodeSizeUnsigned64_SmallSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_SmallSingleByte) { ASSERT_EQ(1u, Encode(UINT64_C(0), buffer_)); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, Encode(UINT64_C(1), buffer_)); @@ -221,7 +224,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_SmallSingleByte) { EXPECT_EQ(std::byte{2}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned64_SmallSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_SmallSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallEncode(UINT64_C(0), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, pw_varint_CallEncode(UINT64_C(1), buffer_, sizeof(buffer_))); @@ -230,7 +233,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_SmallSingleByte_C) { EXPECT_EQ(std::byte{2}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned64_LargeSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_LargeSingleByte) { ASSERT_EQ(1u, Encode(UINT64_C(63), buffer_)); EXPECT_EQ(std::byte{63}, buffer_[0]); ASSERT_EQ(1u, Encode(UINT64_C(64), buffer_)); @@ -241,7 +244,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_LargeSingleByte) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned64_LargeSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_LargeSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallEncode(UINT64_C(63), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{63}, buffer_[0]); ASSERT_EQ(1u, pw_varint_CallEncode(UINT64_C(64), buffer_, sizeof(buffer_))); @@ -252,7 +255,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_LargeSingleByte_C) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeUnsigned64_MultiByte) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_MultiByte) { ASSERT_EQ(2u, Encode(UINT64_C(128), buffer_)); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, Encode(UINT64_C(129), buffer_)); @@ -273,7 +276,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_MultiByte) { std::memcmp("\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01", buffer_, 10), 0); } -TEST_F(Varint, EncodeSizeUnsigned64_MultiByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeUnsigned64_MultiByte_C) { ASSERT_EQ(2u, pw_varint_CallEncode(UINT64_C(128), buffer_, sizeof(buffer_))); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, pw_varint_CallEncode(UINT64_C(129), buffer_, sizeof(buffer_))); @@ -306,7 +309,7 @@ TEST_F(Varint, EncodeSizeUnsigned64_MultiByte_C) { std::memcmp("\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01", buffer_, 10), 0); } -TEST_F(Varint, EncodeSizeSigned64_SmallSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_SmallSingleByte) { ASSERT_EQ(1u, Encode(INT64_C(0), buffer_)); EXPECT_EQ(std::byte{0}, buffer_[0]); ASSERT_EQ(1u, Encode(INT64_C(-1), buffer_)); @@ -319,7 +322,7 @@ TEST_F(Varint, EncodeSizeSigned64_SmallSingleByte) { EXPECT_EQ(std::byte{4}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned64_SmallSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_SmallSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallZigZagEncode(INT64_C(0), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{0}, buffer_[0]); @@ -337,7 +340,7 @@ TEST_F(Varint, EncodeSizeSigned64_SmallSingleByte_C) { EXPECT_EQ(std::byte{4}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned64_LargeSingleByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_LargeSingleByte) { ASSERT_EQ(1u, Encode(INT64_C(-63), buffer_)); EXPECT_EQ(std::byte{125}, buffer_[0]); ASSERT_EQ(1u, Encode(INT64_C(63), buffer_)); @@ -346,7 +349,7 @@ TEST_F(Varint, EncodeSizeSigned64_LargeSingleByte) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned64_LargeSingleByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_LargeSingleByte_C) { ASSERT_EQ(1u, pw_varint_CallZigZagEncode(INT64_C(-63), buffer_, sizeof(buffer_))); EXPECT_EQ(std::byte{125}, buffer_[0]); @@ -358,7 +361,7 @@ TEST_F(Varint, EncodeSizeSigned64_LargeSingleByte_C) { EXPECT_EQ(std::byte{127}, buffer_[0]); } -TEST_F(Varint, EncodeSizeSigned64_MultiByte) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_MultiByte) { ASSERT_EQ(2u, Encode(INT64_C(64), buffer_)); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); ASSERT_EQ(2u, Encode(INT64_C(-65), buffer_)); @@ -385,7 +388,7 @@ TEST_F(Varint, EncodeSizeSigned64_MultiByte) { std::memcmp("\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01", buffer_, 10), 0); } -TEST_F(Varint, EncodeSizeSigned64_MultiByte_C) { +TEST_F(VarintWithBuffer, EncodeSizeSigned64_MultiByte_C) { ASSERT_EQ(2u, pw_varint_CallZigZagEncode(INT64_C(64), buffer_, sizeof(buffer_))); EXPECT_EQ(std::memcmp("\x80\x01", buffer_, 2), 0); @@ -427,7 +430,7 @@ TEST_F(Varint, EncodeSizeSigned64_MultiByte_C) { // tests. Set the increment to 1 to test every number (this is slow). constexpr int kIncrement = 100'000'009; -TEST_F(Varint, EncodeDecodeSigned32) { +TEST_F(VarintWithBuffer, EncodeDecodeSigned32) { int32_t i = std::numeric_limits<int32_t>::min(); while (true) { size_t encoded = Encode(i, buffer_); @@ -446,7 +449,7 @@ TEST_F(Varint, EncodeDecodeSigned32) { } } -TEST_F(Varint, EncodeDecodeSigned32_C) { +TEST_F(VarintWithBuffer, EncodeDecodeSigned32_C) { int32_t i = std::numeric_limits<int32_t>::min(); while (true) { size_t encoded = pw_varint_CallZigZagEncode(i, buffer_, sizeof(buffer_)); @@ -466,7 +469,7 @@ TEST_F(Varint, EncodeDecodeSigned32_C) { } } -TEST_F(Varint, EncodeDecodeUnsigned32) { +TEST_F(VarintWithBuffer, EncodeDecodeUnsigned32) { uint32_t i = 0; while (true) { size_t encoded = Encode(i, buffer_); @@ -485,7 +488,7 @@ TEST_F(Varint, EncodeDecodeUnsigned32) { } } -TEST_F(Varint, EncodeDecodeUnsigned32_C) { +TEST_F(VarintWithBuffer, EncodeDecodeUnsigned32_C) { uint32_t i = 0; while (true) { size_t encoded = pw_varint_CallEncode(i, buffer_, sizeof(buffer_)); @@ -777,7 +780,7 @@ TEST(Varint, ZigZagEncodeDecode) { std::numeric_limits<int64_t>::max()); } -TEST_F(Varint, EncodeWithOptions_SingleByte) { +TEST_F(VarintWithBuffer, EncodeWithOptions_SingleByte) { ASSERT_EQ(Encode(0u, buffer_, Format::kZeroTerminatedLeastSignificant), 1u); EXPECT_EQ(buffer_[0], std::byte{0x00}); @@ -815,7 +818,7 @@ TEST_F(Varint, EncodeWithOptions_SingleByte) { EXPECT_EQ(buffer_[0], std::byte{0xff}); } -TEST_F(Varint, EncodeWithOptions_MultiByte) { +TEST_F(VarintWithBuffer, EncodeWithOptions_MultiByte) { ASSERT_EQ(Encode(128u, buffer_, Format::kZeroTerminatedLeastSignificant), 2u); EXPECT_EQ(std::memcmp("\x01\x02", buffer_, 2), 0); |