GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: test/zserio/BitSizeOfCalculatorTest.cpp Lines: 196 198 99.0 %
Date: 2023-12-13 14:51:09 Branches: 608 2375 25.6 %

Line Branch Exec Source
1
#include "zserio/BitSizeOfCalculator.h"
2
#include "zserio/CppRuntimeException.h"
3
4
#include "gtest/gtest.h"
5
6
namespace zserio
7
{
8
9


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt16)
10
{
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









2
    ASSERT_THROW(bitSizeOfVarInt16(outOfRangeValue), CppRuntimeException);
25
}
26
27


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt32)
28
{
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









2
    ASSERT_THROW(bitSizeOfVarInt32(outOfRangeValue), CppRuntimeException);
53
}
54
55


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt64)
56
{
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
            static_cast<int64_t>((UINT64_C(1) << (6U + 7 + 7 + 7 + 7 + 7 + 7 + 8)) - 1)));
98



1
    EXPECT_EQ(64, bitSizeOfVarInt64(
99
            -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









2
    ASSERT_THROW(bitSizeOfVarInt64(outOfRangeValue), CppRuntimeException);
103
}
104
105


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt16)
106
{
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









2
    ASSERT_THROW(bitSizeOfVarUInt16(outOfRangeValue), CppRuntimeException);
117
}
118
119


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt32)
120
{
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









2
    ASSERT_THROW(bitSizeOfVarUInt32(outOfRangeValue), CppRuntimeException);
137
}
138
139


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt64)
140
{
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









2
    ASSERT_THROW(bitSizeOfVarUInt64(outOfRangeValue), CppRuntimeException);
169
}
170
171


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarInt)
172
{
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


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarUInt)
214
{
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


802
TEST(BitSizeOfCalculatorTest, bitSizeOfVarSize)
236
{
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









2
    ASSERT_THROW(bitSizeOfVarSize(outOfRangeValue), CppRuntimeException);
256
}
257
258


802
TEST(BitSizeOfCalculatorTest, bitSizeOfString)
259
{
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
2
    std::string testString(testStringLength, '\xAB');
265



1
    EXPECT_EQ((2 + testStringLength) * 8, bitSizeOfString(testString));
266
1
}
267
268


802
TEST(BitSizeOfCalculatorTest, bitSizeOfBitBuffer)
269
{
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

2394
} // namespace zserio