Coverage Report

Created: 2024-04-30 09:35

test/zserio/BitSizeOfCalculatorTest.cpp
Line
Count
Source
1
#include "gtest/gtest.h"
2
#include "zserio/BitSizeOfCalculator.h"
3
#include "zserio/CppRuntimeException.h"
4
5
namespace zserio
6
{
7
8
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt16)
9
1
{
10
1
    EXPECT_EQ(8, bitSizeOfVarInt16(0));
11
12
1
    EXPECT_EQ(8, bitSizeOfVarInt16(static_cast<int16_t>(1U << (0U))));
13
1
    EXPECT_EQ(8, bitSizeOfVarInt16(-static_cast<int16_t>(1U << (0U))));
14
1
    EXPECT_EQ(8, bitSizeOfVarInt16(static_cast<int16_t>((1U << (6U)) - 1)));
15
1
    EXPECT_EQ(8, bitSizeOfVarInt16(-static_cast<int16_t>((1U << (6U)) - 1)));
16
17
1
    EXPECT_EQ(16, bitSizeOfVarInt16(static_cast<int16_t>(1U << (6U))));
18
1
    EXPECT_EQ(16, bitSizeOfVarInt16(-static_cast<int16_t>(1U << (6U))));
19
1
    EXPECT_EQ(16, bitSizeOfVarInt16(static_cast<int16_t>((1U << (6U + 8)) - 1)));
20
1
    EXPECT_EQ(16, bitSizeOfVarInt16(-static_cast<int16_t>((1U << (6U + 8)) - 1)));
21
22
1
    const int16_t outOfRangeValue = static_cast<int16_t>(1U << (6U + 8));
23
1
    ASSERT_THROW(bitSizeOfVarInt16(outOfRangeValue), CppRuntimeException);
24
1
}
25
26
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt32)
27
1
{
28
1
    EXPECT_EQ(8, bitSizeOfVarInt32(0));
29
30
1
    EXPECT_EQ(8, bitSizeOfVarInt32(static_cast<int32_t>(1U << (0U))));
31
1
    EXPECT_EQ(8, bitSizeOfVarInt32(-static_cast<int32_t>(1U << (0U))));
32
1
    EXPECT_EQ(8, bitSizeOfVarInt32(static_cast<int32_t>((1U << (6U)) - 1)));
33
1
    EXPECT_EQ(8, bitSizeOfVarInt32(-static_cast<int32_t>(((1U << (6U)) - 1))));
34
35
1
    EXPECT_EQ(16, bitSizeOfVarInt32(static_cast<int32_t>(1U << (6U))));
36
1
    EXPECT_EQ(16, bitSizeOfVarInt32(-static_cast<int32_t>(1U << (6U))));
37
1
    EXPECT_EQ(16, bitSizeOfVarInt32(static_cast<int32_t>((1U << (6U + 7)) - 1)));
38
1
    EXPECT_EQ(16, bitSizeOfVarInt32(-static_cast<int32_t>(((1U << (6U + 7)) - 1))));
39
40
1
    EXPECT_EQ(24, bitSizeOfVarInt32(static_cast<int32_t>(1U << (6U + 7))));
41
1
    EXPECT_EQ(24, bitSizeOfVarInt32(-static_cast<int32_t>(1U << (6U + 7))));
42
1
    EXPECT_EQ(24, bitSizeOfVarInt32(static_cast<int32_t>((1U << (6U + 7 + 7)) - 1)));
43
1
    EXPECT_EQ(24, bitSizeOfVarInt32(-static_cast<int32_t>((1U << (6U + 7 + 7)) - 1)));
44
45
1
    EXPECT_EQ(32, bitSizeOfVarInt32(static_cast<int32_t>(1U << (6U + 7 + 7))));
46
1
    EXPECT_EQ(32, bitSizeOfVarInt32(-static_cast<int32_t>(1U << (6U + 7 + 7))));
47
1
    EXPECT_EQ(32, bitSizeOfVarInt32(static_cast<int32_t>((1U << (6U + 7 + 7 + 8)) - 1)));
48
1
    EXPECT_EQ(32, bitSizeOfVarInt32(-static_cast<int32_t>((1U << (6U + 7 + 7 + 8)) - 1)));
49
50
1
    const int32_t outOfRangeValue = static_cast<int32_t>(1U << (6U + 7 + 7 + 8));
51
1
    ASSERT_THROW(bitSizeOfVarInt32(outOfRangeValue), CppRuntimeException);
52
1
}
53
54
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt64)
55
1
{
56
1
    EXPECT_EQ(8, bitSizeOfVarInt64(0));
57
58
1
    EXPECT_EQ(8, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (0U))));
59
1
    EXPECT_EQ(8, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (0U))));
60
1
    EXPECT_EQ(8, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U)) - 1)));
61
1
    EXPECT_EQ(8, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U)) - 1)));
62
63
1
    EXPECT_EQ(16, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U))));
64
1
    EXPECT_EQ(16, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U))));
65
1
    EXPECT_EQ(16, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7)) - 1)));
66
1
    EXPECT_EQ(16, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7)) - 1)));
67
68
1
    EXPECT_EQ(24, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7))));
69
1
    EXPECT_EQ(24, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7))));
70
1
    EXPECT_EQ(24, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7)) - 1)));
71
1
    EXPECT_EQ(24, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7)) - 1)));
72
73
1
    EXPECT_EQ(32, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7))));
74
1
    EXPECT_EQ(32, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7))));
75
1
    EXPECT_EQ(32, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7)) - 1)));
76
1
    EXPECT_EQ(32, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7)) - 1)));
77
78
1
    EXPECT_EQ(40, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7))));
79
1
    EXPECT_EQ(40, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7))));
80
1
    EXPECT_EQ(40, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7)) - 1)));
81
1
    EXPECT_EQ(40, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7)) - 1)));
82
83
1
    EXPECT_EQ(48, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7))));
84
1
    EXPECT_EQ(48, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7))));
85
1
    EXPECT_EQ(48, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7)) - 1)));
86
1
    EXPECT_EQ(48, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7)) - 1)));
87
88
1
    EXPECT_EQ(56, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7))));
89
1
    EXPECT_EQ(56, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7))));
90
1
    EXPECT_EQ(56, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7)) - 1)));
91
1
    EXPECT_EQ(56, bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7)) - 1)));
92
93
1
    EXPECT_EQ(64, bitSizeOfVarInt64(static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7))));
94
1
    EXPECT_EQ(64, bitSizeOfVarInt64(-static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7))));
95
1
    EXPECT_EQ(
96
1
            64, bitSizeOfVarInt64(static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7 + 8)) - 1)));
97
1
    EXPECT_EQ(64,
98
1
            bitSizeOfVarInt64(-static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7 + 8)) - 1)));
99
100
1
    const int64_t outOfRangeValue = static_cast<int64_t>(UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7 + 8));
101
1
    ASSERT_THROW(bitSizeOfVarInt64(outOfRangeValue), CppRuntimeException);
102
1
}
103
104
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt16)
105
1
{
106
1
    EXPECT_EQ(8, bitSizeOfVarUInt16(0));
107
108
1
    EXPECT_EQ(8, bitSizeOfVarUInt16(1U << (0U)));
109
1
    EXPECT_EQ(8, bitSizeOfVarUInt16((1U << (7U)) - 1));
110
111
1
    EXPECT_EQ(16, bitSizeOfVarUInt16(1U << (7U)));
112
1
    EXPECT_EQ(16, bitSizeOfVarUInt16((1U << (7U + 8)) - 1));
113
114
1
    const uint16_t outOfRangeValue = 1U << (7U + 8);
115
1
    ASSERT_THROW(bitSizeOfVarUInt16(outOfRangeValue), CppRuntimeException);
116
1
}
117
118
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt32)
119
1
{
120
1
    EXPECT_EQ(8, bitSizeOfVarUInt32(0));
121
122
1
    EXPECT_EQ(8, bitSizeOfVarUInt32(1U << (0U)));
123
1
    EXPECT_EQ(8, bitSizeOfVarUInt32((1U << (7U)) - 1));
124
125
1
    EXPECT_EQ(16, bitSizeOfVarUInt32(1U << (7U)));
126
1
    EXPECT_EQ(16, bitSizeOfVarUInt32((1U << (7U + 7)) - 1));
127
128
1
    EXPECT_EQ(24, bitSizeOfVarUInt32(1U << (7U + 7)));
129
1
    EXPECT_EQ(24, bitSizeOfVarUInt32((1U << (7U + 7 + 7)) - 1));
130
131
1
    EXPECT_EQ(32, bitSizeOfVarUInt32(1U << (7U + 7 + 7)));
132
1
    EXPECT_EQ(32, bitSizeOfVarUInt32((1U << (7U + 7 + 7 + 8)) - 1));
133
134
1
    const uint32_t outOfRangeValue = 1U << (7U + 7 + 7 + 8);
135
1
    ASSERT_THROW(bitSizeOfVarUInt32(outOfRangeValue), CppRuntimeException);
136
1
}
137
138
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt64)
139
1
{
140
1
    EXPECT_EQ(8, bitSizeOfVarUInt64(0));
141
142
1
    EXPECT_EQ(8, bitSizeOfVarUInt64(UINT64_C(1) << (0U)));
143
1
    EXPECT_EQ(8, bitSizeOfVarUInt64((UINT64_C(1) << (7U)) - 1));
144
145
1
    EXPECT_EQ(16, bitSizeOfVarUInt64(UINT64_C(1) << (7U)));
146
1
    EXPECT_EQ(16, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7)) - 1));
147
148
1
    EXPECT_EQ(24, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7)));
149
1
    EXPECT_EQ(24, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7)) - 1));
150
151
1
    EXPECT_EQ(32, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7 + 7)));
152
1
    EXPECT_EQ(32, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7 + 7)) - 1));
153
154
1
    EXPECT_EQ(40, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7 + 7 + 7)));
155
1
    EXPECT_EQ(40, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7 + 7 + 7)) - 1));
156
157
1
    EXPECT_EQ(48, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7 + 7 + 7 + 7)));
158
1
    EXPECT_EQ(48, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7)) - 1));
159
160
1
    EXPECT_EQ(56, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7)));
161
1
    EXPECT_EQ(56, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7 + 7)) - 1));
162
163
1
    EXPECT_EQ(64, bitSizeOfVarUInt64(UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7 + 7)));
164
1
    EXPECT_EQ(64, bitSizeOfVarUInt64((UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7 + 7 + 8)) - 1));
165
166
1
    const uint64_t outOfRangeValue = UINT64_C(1) << (7U + 7 + 7 + 7 + 7 + 7 + 7 + 8);
167
1
    ASSERT_THROW(bitSizeOfVarUInt64(outOfRangeValue), CppRuntimeException);
168
1
}
169
170
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt)
171
1
{
172
1
    EXPECT_EQ(8, bitSizeOfVarInt(INT64_C(0)));
173
1
    EXPECT_EQ(8, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 6U) + 1));
174
1
    EXPECT_EQ(8, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 6U) - 1));
175
1
    EXPECT_EQ(16, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 6U)));
176
1
    EXPECT_EQ(16, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 6U)));
177
1
    EXPECT_EQ(16, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 13U) + 1));
178
1
    EXPECT_EQ(16, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 13U) - 1));
179
1
    EXPECT_EQ(24, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 13U)));
180
1
    EXPECT_EQ(24, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 13U)));
181
1
    EXPECT_EQ(24, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 20U) + 1));
182
1
    EXPECT_EQ(24, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 20U) - 1));
183
1
    EXPECT_EQ(32, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 20U)));
184
1
    EXPECT_EQ(32, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 20U)));
185
1
    EXPECT_EQ(32, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 27U) + 1));
186
1
    EXPECT_EQ(32, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 27U) - 1));
187
1
    EXPECT_EQ(40, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 27U)));
188
1
    EXPECT_EQ(40, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 27U)));
189
1
    EXPECT_EQ(40, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 34U) + 1));
190
1
    EXPECT_EQ(40, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 34U) - 1));
191
1
    EXPECT_EQ(48, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 34U)));
192
1
    EXPECT_EQ(48, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 34U)));
193
1
    EXPECT_EQ(48, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 41U) + 1));
194
1
    EXPECT_EQ(48, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 41U) - 1));
195
1
    EXPECT_EQ(56, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 41U)));
196
1
    EXPECT_EQ(56, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 41U)));
197
1
    EXPECT_EQ(56, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 48U) + 1));
198
1
    EXPECT_EQ(56, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 48U) - 1));
199
1
    EXPECT_EQ(64, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 48U)));
200
1
    EXPECT_EQ(64, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 48U)));
201
1
    EXPECT_EQ(64, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 55U) + 1));
202
1
    EXPECT_EQ(64, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 55U) - 1));
203
1
    EXPECT_EQ(72, bitSizeOfVarInt(-static_cast<int64_t>(UINT64_C(1) << 55U)));
204
1
    EXPECT_EQ(72, bitSizeOfVarInt(static_cast<int64_t>(UINT64_C(1) << 55U)));
205
1
    EXPECT_EQ(72, bitSizeOfVarInt(INT64_MIN + 1));
206
1
    EXPECT_EQ(72, bitSizeOfVarInt(INT64_MAX));
207
208
    // special case, INT64_MIN is stored as -0
209
1
    EXPECT_EQ(8, bitSizeOfVarInt(INT64_MIN));
210
1
}
211
212
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt)
213
1
{
214
1
    EXPECT_EQ(8, bitSizeOfVarUInt(UINT64_C(0)));
215
1
    EXPECT_EQ(8, bitSizeOfVarUInt((UINT64_C(1) << 7U) - 1));
216
1
    EXPECT_EQ(16, bitSizeOfVarUInt((UINT64_C(1) << 7U)));
217
1
    EXPECT_EQ(16, bitSizeOfVarUInt((UINT64_C(1) << 14U) - 1));
218
1
    EXPECT_EQ(24, bitSizeOfVarUInt((UINT64_C(1) << 14U)));
219
1
    EXPECT_EQ(24, bitSizeOfVarUInt((UINT64_C(1) << 21U) - 1));
220
1
    EXPECT_EQ(32, bitSizeOfVarUInt((UINT64_C(1) << 21U)));
221
1
    EXPECT_EQ(32, bitSizeOfVarUInt((UINT64_C(1) << 28U) - 1));
222
1
    EXPECT_EQ(40, bitSizeOfVarUInt((UINT64_C(1) << 28U)));
223
1
    EXPECT_EQ(40, bitSizeOfVarUInt((UINT64_C(1) << 35U) - 1));
224
1
    EXPECT_EQ(48, bitSizeOfVarUInt((UINT64_C(1) << 35U)));
225
1
    EXPECT_EQ(48, bitSizeOfVarUInt((UINT64_C(1) << 42U) - 1));
226
1
    EXPECT_EQ(56, bitSizeOfVarUInt((UINT64_C(1) << 42U)));
227
1
    EXPECT_EQ(56, bitSizeOfVarUInt((UINT64_C(1) << 49U) - 1));
228
1
    EXPECT_EQ(64, bitSizeOfVarUInt((UINT64_C(1) << 49U)));
229
1
    EXPECT_EQ(64, bitSizeOfVarUInt((UINT64_C(1) << 56U) - 1));
230
1
    EXPECT_EQ(72, bitSizeOfVarUInt((UINT64_C(1) << 56U)));
231
1
    EXPECT_EQ(72, bitSizeOfVarUInt(UINT64_MAX));
232
1
}
233
234
TEST(BitSizeOfCalculatorTest, bitSizeOfVarSize)
235
1
{
236
1
    EXPECT_EQ(8, bitSizeOfVarSize(0));
237
238
1
    EXPECT_EQ(8, bitSizeOfVarSize(1U << (0U)));
239
1
    EXPECT_EQ(8, bitSizeOfVarSize((1U << (7U)) - 1));
240
241
1
    EXPECT_EQ(16, bitSizeOfVarSize(1U << (7U)));
242
1
    EXPECT_EQ(16, bitSizeOfVarSize((1U << (7U + 7)) - 1));
243
244
1
    EXPECT_EQ(24, bitSizeOfVarSize(1U << (7U + 7)));
245
1
    EXPECT_EQ(24, bitSizeOfVarSize((1U << (7U + 7 + 7)) - 1));
246
247
1
    EXPECT_EQ(32, bitSizeOfVarSize(1U << (7U + 7 + 7)));
248
1
    EXPECT_EQ(32, bitSizeOfVarSize((1U << (7U + 7 + 7 + 7)) - 1));
249
250
1
    EXPECT_EQ(40, bitSizeOfVarSize(1U << (7U + 7 + 7 + 7)));
251
1
    EXPECT_EQ(40, bitSizeOfVarSize((1U << (2U + 7 + 7 + 7 + 8)) - 1));
252
253
1
    const uint32_t outOfRangeValue = 1U << (2U + 7 + 7 + 7 + 8);
254
1
    ASSERT_THROW(bitSizeOfVarSize(outOfRangeValue), CppRuntimeException);
255
1
}
256
257
TEST(BitSizeOfCalculatorTest, bitSizeOfString)
258
1
{
259
1
    EXPECT_EQ((1 + 1) * 8, bitSizeOfString(std::string("T")));
260
1
    EXPECT_EQ((1 + 4) * 8, bitSizeOfString(std::string("Test")));
261
262
1
    const size_t testStringLength = static_cast<size_t>(1U << 7U);
263
1
    std::string testString(testStringLength, '\xAB');
264
1
    EXPECT_EQ((2 + testStringLength) * 8, bitSizeOfString(testString));
265
1
}
266
267
TEST(BitSizeOfCalculatorTest, bitSizeOfBitBuffer)
268
1
{
269
1
    EXPECT_EQ(8 + 8, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>({0xAB, 0xC0}), 8)));
270
1
    EXPECT_EQ(8 + 11, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>({0xAB, 0xC0}), 11)));
271
1
    EXPECT_EQ(8 + 16, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>({0xAB, 0xCD}), 16)));
272
1
    EXPECT_EQ(8 + 16, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>({0xAB, 0xCD}))));
273
274
1
    EXPECT_EQ(8 + 15 * 8 + 7, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>(16), 127)));
275
1
    EXPECT_EQ(16 + 16 * 8, bitSizeOfBitBuffer(BitBuffer(std::vector<uint8_t>(16), 128)));
276
1
}
277
278
} // namespace zserio