diff options
Diffstat (limited to 'source/test/vlq_test.cpp')
-rw-r--r-- | source/test/vlq_test.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/source/test/vlq_test.cpp b/source/test/vlq_test.cpp new file mode 100644 index 0000000..5681c14 --- /dev/null +++ b/source/test/vlq_test.cpp @@ -0,0 +1,30 @@ +#include "StarVlqEncoding.hpp" + +#include "gtest/gtest.h" + +using namespace Star; + +TEST(VlqTest, All) { + char buffer[10]; + int64_t result; + + EXPECT_EQ(writeVlqI(-1, buffer), 1u); + EXPECT_EQ(readVlqI(result, buffer), 1u); + EXPECT_EQ(result, -1); + + EXPECT_EQ(writeVlqI(-65, buffer), 2u); + EXPECT_EQ(readVlqI(result, buffer), 2u); + EXPECT_EQ(result, -65); + + EXPECT_EQ(writeVlqI(-64, buffer), 1u); + EXPECT_EQ(readVlqI(result, buffer), 1u); + EXPECT_EQ(result, -64); + + EXPECT_EQ(writeVlqI((int64_t)1 << 63, buffer), 10u); + EXPECT_EQ(readVlqI(result, buffer), 10u); + EXPECT_EQ(result, (int64_t)1 << 63); + + EXPECT_EQ(writeVlqI(0, buffer), 1u); + EXPECT_EQ(readVlqI(result, buffer), 1u); + EXPECT_EQ(result, 0); +} |