GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: test/zserio/TypeInfoUtilTest.cpp Lines: 355 355 100.0 %
Date: 2023-12-13 14:51:09 Branches: 1418 4924 28.8 %

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


802
TEST(TypeInfoUtilTest, isCompound)
9
{
10



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::BOOL));
11



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT8));
12



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT16));
13



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT32));
14



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT64));
15



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT8));
16



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT16));
17



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT32));
18



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT64));
19



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT16));
20



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT32));
21



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT64));
22



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT));
23



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT16));
24



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT32));
25



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT64));
26



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT));
27



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARSIZE));
28



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FIXED_SIGNED_BITFIELD));
29



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FIXED_UNSIGNED_BITFIELD));
30



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::DYNAMIC_SIGNED_BITFIELD));
31



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
32



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT16));
33



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT32));
34



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT64));
35



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::STRING));
36



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::EXTERN));
37



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::ENUM));
38



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::BITMASK));
39



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::STRUCT));
40



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::CHOICE));
41



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::UNION));
42



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SQL_TABLE));
43



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SQL_DATABASE));
44



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SERVICE));
45



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::PUBSUB));
46
47



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BOOL));
48



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT8));
49



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT16));
50



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT32));
51



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT64));
52



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT8));
53



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT16));
54



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT32));
55



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT64));
56



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::FLOAT));
57



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::DOUBLE));
58



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::STRING));
59



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BIT_BUFFER));
60



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::ENUM));
61



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BITMASK));
62



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::STRUCT));
63



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::CHOICE));
64



1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::UNION));
65



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SQL_TABLE));
66



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SQL_DATABASE));
67



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SERVICE));
68



1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::PUBSUB));
69
}
70
71


802
TEST(TypeInfoUtilTest, hasChoice)
72
{
73



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::BOOL));
74



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT8));
75



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT16));
76



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT32));
77



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT64));
78



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT8));
79



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT16));
80



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT32));
81



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT64));
82



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT16));
83



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT32));
84



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT64));
85



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT));
86



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT16));
87



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT32));
88



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT64));
89



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT));
90



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARSIZE));
91



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FIXED_SIGNED_BITFIELD));
92



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FIXED_UNSIGNED_BITFIELD));
93



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::DYNAMIC_SIGNED_BITFIELD));
94



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
95



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT16));
96



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT32));
97



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT64));
98



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::STRING));
99



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::EXTERN));
100



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::ENUM));
101



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::BITMASK));
102



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::STRUCT));
103



1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(SchemaType::CHOICE));
104



1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(SchemaType::UNION));
105



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SQL_TABLE));
106



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SQL_DATABASE));
107



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SERVICE));
108



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::PUBSUB));
109
110



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BOOL));
111



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT8));
112



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT16));
113



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT32));
114



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT64));
115



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT8));
116



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT16));
117



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT32));
118



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT64));
119



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::FLOAT));
120



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::DOUBLE));
121



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::STRING));
122



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BIT_BUFFER));
123



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::ENUM));
124



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BITMASK));
125



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::STRUCT));
126



1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(CppType::CHOICE));
127



1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(CppType::UNION));
128



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SQL_TABLE));
129



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SQL_DATABASE));
130



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SERVICE));
131



1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::PUBSUB));
132
}
133
134


802
TEST(TypeInfoUtilTest, isFixedSize)
135
{
136



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::BOOL));
137



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT8));
138



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT16));
139



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT32));
140



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT64));
141



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT8));
142



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT16));
143



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT32));
144



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT64));
145



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT16));
146



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT32));
147



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT64));
148



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT));
149



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT16));
150



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT32));
151



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT64));
152



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT));
153



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARSIZE));
154



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FIXED_SIGNED_BITFIELD));
155



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FIXED_UNSIGNED_BITFIELD));
156



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::DYNAMIC_SIGNED_BITFIELD));
157



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
158



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT16));
159



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT32));
160



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT64));
161



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::STRING));
162



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::EXTERN));
163



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::ENUM));
164



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::BITMASK));
165



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::STRUCT));
166



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::CHOICE));
167



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::UNION));
168



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SQL_TABLE));
169



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SQL_DATABASE));
170



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SERVICE));
171



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::PUBSUB));
172
173



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::BOOL));
174



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT8));
175



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT16));
176



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT32));
177



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT64));
178



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT8));
179



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT16));
180



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT32));
181



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT64));
182



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::FLOAT));
183



1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::DOUBLE));
184



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::STRING));
185



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::BIT_BUFFER));
186



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::ENUM));
187



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::BITMASK));
188



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::STRUCT));
189



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::CHOICE));
190



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::UNION));
191



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SQL_TABLE));
192



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SQL_DATABASE));
193



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SERVICE));
194



1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::PUBSUB));
195
}
196
197


802
TEST(TypeInfoUtilTest, isIntegral)
198
{
199



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::BOOL));
200



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT8));
201



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT16));
202



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT32));
203



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT64));
204



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT8));
205



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT16));
206



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT32));
207



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT64));
208



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT16));
209



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT32));
210



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT64));
211



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT));
212



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT16));
213



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT32));
214



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT64));
215



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT));
216



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARSIZE));
217



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::FIXED_SIGNED_BITFIELD));
218



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::FIXED_UNSIGNED_BITFIELD));
219



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::DYNAMIC_SIGNED_BITFIELD));
220



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
221



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT16));
222



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT32));
223



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT64));
224



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::STRING));
225



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::EXTERN));
226



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::ENUM));
227



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::BITMASK));
228



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::STRUCT));
229



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::CHOICE));
230



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::UNION));
231



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SQL_TABLE));
232



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SQL_DATABASE));
233



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SERVICE));
234



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::PUBSUB));
235
236



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::BOOL));
237



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT8));
238



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT16));
239



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT32));
240



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT64));
241



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT8));
242



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT16));
243



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT32));
244



1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT64));
245



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::FLOAT));
246



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::DOUBLE));
247



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::STRING));
248



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::BIT_BUFFER));
249



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::ENUM));
250



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::BITMASK));
251



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::STRUCT));
252



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::CHOICE));
253



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::UNION));
254



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SQL_TABLE));
255



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SQL_DATABASE));
256



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SERVICE));
257



1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::PUBSUB));
258
}
259
260


802
TEST(TypeInfoUtilTest, isSigned)
261
{
262



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::BOOL));
263



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT8));
264



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT16));
265



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT32));
266



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT64));
267



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT8));
268



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT16));
269



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT32));
270



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT64));
271



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT16));
272



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT32));
273



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT64));
274



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT));
275



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT16));
276



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT32));
277



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT64));
278



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT));
279



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARSIZE));
280



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FIXED_SIGNED_BITFIELD));
281



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::FIXED_UNSIGNED_BITFIELD));
282



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::DYNAMIC_SIGNED_BITFIELD));
283



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
284



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT16));
285



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT32));
286



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT64));
287



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::STRING));
288



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::EXTERN));
289



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::ENUM));
290



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::BITMASK));
291



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::STRUCT));
292



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::CHOICE));
293



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UNION));
294



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SQL_TABLE));
295



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SQL_DATABASE));
296



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SERVICE));
297



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::PUBSUB));
298
299



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BOOL));
300



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT8));
301



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT16));
302



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT32));
303



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT64));
304



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT8));
305



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT16));
306



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT32));
307



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT64));
308



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::FLOAT));
309



1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::DOUBLE));
310



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::STRING));
311



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BIT_BUFFER));
312



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::ENUM));
313



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BITMASK));
314



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::STRUCT));
315



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::CHOICE));
316



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UNION));
317



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SQL_TABLE));
318



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SQL_DATABASE));
319



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SERVICE));
320



1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::PUBSUB));
321
}
322
323


802
TEST(TypeInfoUtilTest, isFloatingPoint)
324
{
325



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::BOOL));
326



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT8));
327



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT16));
328



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT32));
329



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT64));
330



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT8));
331



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT16));
332



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT32));
333



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT64));
334



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT16));
335



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT32));
336



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT64));
337



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT));
338



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT16));
339



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT32));
340



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT64));
341



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT));
342



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARSIZE));
343



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::FIXED_SIGNED_BITFIELD));
344



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::FIXED_UNSIGNED_BITFIELD));
345



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::DYNAMIC_SIGNED_BITFIELD));
346



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
347



1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT16));
348



1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT32));
349



1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT64));
350



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::STRING));
351



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::EXTERN));
352



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::ENUM));
353



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::BITMASK));
354



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::STRUCT));
355



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::CHOICE));
356



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UNION));
357



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SQL_TABLE));
358



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SQL_DATABASE));
359



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SERVICE));
360



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::PUBSUB));
361
362



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BOOL));
363



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT8));
364



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT16));
365



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT32));
366



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT64));
367



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT8));
368



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT16));
369



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT32));
370



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT64));
371



1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(CppType::FLOAT));
372



1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(CppType::DOUBLE));
373



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::STRING));
374



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BIT_BUFFER));
375



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::ENUM));
376



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BITMASK));
377



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::STRUCT));
378



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::CHOICE));
379



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UNION));
380



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SQL_TABLE));
381



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SQL_DATABASE));
382



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SERVICE));
383



1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::PUBSUB));
384
}
385
386

2394
} // namespace zserio