aboutsummaryrefslogtreecommitdiff
path: root/pw_varint/varint_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pw_varint/varint_test.cc')
-rw-r--r--pw_varint/varint_test.cc81
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);