24 EXPECT_EQ(encoded.size(), 4);
25 EXPECT_EQ(encoded[0], (std::pair<int, size_t>{1, 3}));
26 EXPECT_EQ(encoded[1], (std::pair<int, size_t>{2, 2}));
27 EXPECT_EQ(encoded[2], (std::pair<int, size_t>{3, 1}));
28 EXPECT_EQ(encoded[3], (std::pair<int, size_t>{4, 4}));
60 std::vector<int> alternating = {1, 2, 1, 2, 1, 2};
62 EXPECT_EQ(encoded.size(), 6);
63 for (
size_t i = 0; i < encoded.size(); ++i) {
64 EXPECT_EQ(encoded[i].first, (i % 2) + 1);
65 EXPECT_EQ(encoded[i].second, 1);
69 std::vector<int> repeated(5, 42);
71 EXPECT_EQ(encoded_repeated.size(), 1);
72 EXPECT_EQ(encoded_repeated[0], (std::pair<int, size_t>{42, 5}));
77 std::vector<int> constant(5, 7);
79 EXPECT_EQ(encoded_constant[0], 7);
80 for (
size_t i = 1; i < encoded_constant.size(); ++i) {
81 EXPECT_EQ(encoded_constant[i], 0);
85 std::vector<int> decreasing = {10, 8, 6, 4, 2};
87 EXPECT_EQ(encoded_decreasing[0], 10);
88 for (
size_t i = 1; i < encoded_decreasing.size(); ++i) {
89 EXPECT_EQ(encoded_decreasing[i], -2);
111 std::vector<int> large_nums = {1000000, 1000001, 1000002, 1000003};
115 EXPECT_EQ(rle.size(), 4);
116 for (
size_t i = 0; i < rle.size(); ++i) {
117 EXPECT_EQ(rle[i].first, 1000000 + i);
118 EXPECT_EQ(rle[i].second, 1);
123 EXPECT_EQ(delta[0], 1000000);
124 for (
size_t i = 1; i < delta.size(); ++i) {
125 EXPECT_EQ(delta[i], 1);
130 std::vector<int> mixed = {1, 1, 1, 2, 3, 3, 4, 4, 4, 4};
134 EXPECT_EQ(rle.size(), 4);
135 EXPECT_EQ(rle[0], (std::pair<int, size_t>{1, 3}));
136 EXPECT_EQ(rle[1], (std::pair<int, size_t>{2, 1}));
137 EXPECT_EQ(rle[2], (std::pair<int, size_t>{3, 2}));
138 EXPECT_EQ(rle[3], (std::pair<int, size_t>{4, 4}));
143 EXPECT_EQ(decoded, mixed);
148 std::vector<int> compressible(100, 42);
150 EXPECT_EQ(rle.size(), 1);
151 EXPECT_EQ(rle[0].second, 100);
154 std::vector<int> incompressible;
155 for (
int i = 0; i < 100; ++i) {
156 incompressible.push_back(i);
159 EXPECT_EQ(rle_incomp.size(), 100);