Coverage Report

Created: 2023-12-13 14:58

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