Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/test/vlq_test.cpp
blob: 5681c14f8ff0d1a27b7054a42971e894eee64173 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
}