Coverage Report

Created: 2024-07-18 11:41

test/zserio/TypeInfoUtilTest.cpp
Line
Count
Source
1
#include "gtest/gtest.h"
2
#include "zserio/TypeInfoUtil.h"
3
4
namespace zserio
5
{
6
7
TEST(TypeInfoUtilTest, isCompound)
8
1
{
9
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::BOOL));
10
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT8));
11
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT16));
12
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT32));
13
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::INT64));
14
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT8));
15
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT16));
16
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT32));
17
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::UINT64));
18
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT16));
19
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT32));
20
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT64));
21
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARINT));
22
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT16));
23
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT32));
24
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT64));
25
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARUINT));
26
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::VARSIZE));
27
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FIXED_SIGNED_BITFIELD));
28
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FIXED_UNSIGNED_BITFIELD));
29
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::DYNAMIC_SIGNED_BITFIELD));
30
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
31
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT16));
32
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT32));
33
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::FLOAT64));
34
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::STRING));
35
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::EXTERN));
36
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::ENUM));
37
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::BITMASK));
38
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::STRUCT));
39
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::CHOICE));
40
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(SchemaType::UNION));
41
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SQL_TABLE));
42
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SQL_DATABASE));
43
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::SERVICE));
44
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(SchemaType::PUBSUB));
45
46
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BOOL));
47
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT8));
48
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT16));
49
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT32));
50
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::INT64));
51
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT8));
52
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT16));
53
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT32));
54
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::UINT64));
55
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::FLOAT));
56
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::DOUBLE));
57
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::STRING));
58
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BIT_BUFFER));
59
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::ENUM));
60
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::BITMASK));
61
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::STRUCT));
62
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::CHOICE));
63
1
    ASSERT_EQ(true, TypeInfoUtil::isCompound(CppType::UNION));
64
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SQL_TABLE));
65
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SQL_DATABASE));
66
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::SERVICE));
67
1
    ASSERT_EQ(false, TypeInfoUtil::isCompound(CppType::PUBSUB));
68
1
}
69
70
TEST(TypeInfoUtilTest, hasChoice)
71
1
{
72
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::BOOL));
73
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT8));
74
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT16));
75
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT32));
76
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::INT64));
77
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT8));
78
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT16));
79
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT32));
80
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::UINT64));
81
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT16));
82
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT32));
83
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT64));
84
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARINT));
85
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT16));
86
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT32));
87
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT64));
88
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARUINT));
89
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::VARSIZE));
90
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FIXED_SIGNED_BITFIELD));
91
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FIXED_UNSIGNED_BITFIELD));
92
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::DYNAMIC_SIGNED_BITFIELD));
93
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
94
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT16));
95
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT32));
96
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::FLOAT64));
97
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::STRING));
98
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::EXTERN));
99
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::ENUM));
100
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::BITMASK));
101
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::STRUCT));
102
1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(SchemaType::CHOICE));
103
1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(SchemaType::UNION));
104
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SQL_TABLE));
105
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SQL_DATABASE));
106
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::SERVICE));
107
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(SchemaType::PUBSUB));
108
109
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BOOL));
110
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT8));
111
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT16));
112
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT32));
113
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::INT64));
114
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT8));
115
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT16));
116
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT32));
117
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::UINT64));
118
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::FLOAT));
119
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::DOUBLE));
120
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::STRING));
121
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BIT_BUFFER));
122
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::ENUM));
123
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::BITMASK));
124
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::STRUCT));
125
1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(CppType::CHOICE));
126
1
    ASSERT_EQ(true, TypeInfoUtil::hasChoice(CppType::UNION));
127
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SQL_TABLE));
128
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SQL_DATABASE));
129
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::SERVICE));
130
1
    ASSERT_EQ(false, TypeInfoUtil::hasChoice(CppType::PUBSUB));
131
1
}
132
133
TEST(TypeInfoUtilTest, isFixedSize)
134
1
{
135
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::BOOL));
136
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT8));
137
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT16));
138
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT32));
139
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::INT64));
140
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT8));
141
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT16));
142
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT32));
143
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::UINT64));
144
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT16));
145
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT32));
146
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT64));
147
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARINT));
148
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT16));
149
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT32));
150
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT64));
151
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARUINT));
152
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::VARSIZE));
153
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FIXED_SIGNED_BITFIELD));
154
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FIXED_UNSIGNED_BITFIELD));
155
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::DYNAMIC_SIGNED_BITFIELD));
156
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
157
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT16));
158
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT32));
159
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(SchemaType::FLOAT64));
160
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::STRING));
161
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::EXTERN));
162
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::ENUM));
163
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::BITMASK));
164
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::STRUCT));
165
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::CHOICE));
166
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::UNION));
167
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SQL_TABLE));
168
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SQL_DATABASE));
169
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::SERVICE));
170
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(SchemaType::PUBSUB));
171
172
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::BOOL));
173
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT8));
174
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT16));
175
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT32));
176
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::INT64));
177
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT8));
178
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT16));
179
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT32));
180
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::UINT64));
181
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::FLOAT));
182
1
    ASSERT_EQ(true, TypeInfoUtil::isFixedSize(CppType::DOUBLE));
183
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::STRING));
184
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::BIT_BUFFER));
185
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::ENUM));
186
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::BITMASK));
187
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::STRUCT));
188
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::CHOICE));
189
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::UNION));
190
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SQL_TABLE));
191
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SQL_DATABASE));
192
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::SERVICE));
193
1
    ASSERT_EQ(false, TypeInfoUtil::isFixedSize(CppType::PUBSUB));
194
1
}
195
196
TEST(TypeInfoUtilTest, isIntegral)
197
1
{
198
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::BOOL));
199
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT8));
200
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT16));
201
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT32));
202
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::INT64));
203
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT8));
204
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT16));
205
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT32));
206
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::UINT64));
207
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT16));
208
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT32));
209
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT64));
210
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARINT));
211
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT16));
212
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT32));
213
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT64));
214
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARUINT));
215
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::VARSIZE));
216
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::FIXED_SIGNED_BITFIELD));
217
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::FIXED_UNSIGNED_BITFIELD));
218
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::DYNAMIC_SIGNED_BITFIELD));
219
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
220
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT16));
221
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT32));
222
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::FLOAT64));
223
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::STRING));
224
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::EXTERN));
225
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::ENUM));
226
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::BITMASK));
227
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::STRUCT));
228
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::CHOICE));
229
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::UNION));
230
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SQL_TABLE));
231
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SQL_DATABASE));
232
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::SERVICE));
233
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(SchemaType::PUBSUB));
234
235
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::BOOL));
236
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT8));
237
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT16));
238
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT32));
239
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::INT64));
240
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT8));
241
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT16));
242
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT32));
243
1
    ASSERT_EQ(true, TypeInfoUtil::isIntegral(CppType::UINT64));
244
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::FLOAT));
245
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::DOUBLE));
246
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::STRING));
247
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::BIT_BUFFER));
248
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::ENUM));
249
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::BITMASK));
250
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::STRUCT));
251
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::CHOICE));
252
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::UNION));
253
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SQL_TABLE));
254
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SQL_DATABASE));
255
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::SERVICE));
256
1
    ASSERT_EQ(false, TypeInfoUtil::isIntegral(CppType::PUBSUB));
257
1
}
258
259
TEST(TypeInfoUtilTest, isSigned)
260
1
{
261
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::BOOL));
262
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT8));
263
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT16));
264
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT32));
265
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::INT64));
266
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT8));
267
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT16));
268
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT32));
269
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UINT64));
270
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT16));
271
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT32));
272
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT64));
273
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::VARINT));
274
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT16));
275
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT32));
276
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT64));
277
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARUINT));
278
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::VARSIZE));
279
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FIXED_SIGNED_BITFIELD));
280
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::FIXED_UNSIGNED_BITFIELD));
281
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::DYNAMIC_SIGNED_BITFIELD));
282
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
283
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT16));
284
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT32));
285
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(SchemaType::FLOAT64));
286
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::STRING));
287
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::EXTERN));
288
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::ENUM));
289
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::BITMASK));
290
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::STRUCT));
291
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::CHOICE));
292
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::UNION));
293
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SQL_TABLE));
294
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SQL_DATABASE));
295
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::SERVICE));
296
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(SchemaType::PUBSUB));
297
298
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BOOL));
299
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT8));
300
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT16));
301
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT32));
302
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::INT64));
303
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT8));
304
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT16));
305
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT32));
306
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UINT64));
307
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::FLOAT));
308
1
    ASSERT_EQ(true, TypeInfoUtil::isSigned(CppType::DOUBLE));
309
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::STRING));
310
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BIT_BUFFER));
311
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::ENUM));
312
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::BITMASK));
313
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::STRUCT));
314
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::CHOICE));
315
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::UNION));
316
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SQL_TABLE));
317
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SQL_DATABASE));
318
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::SERVICE));
319
1
    ASSERT_EQ(false, TypeInfoUtil::isSigned(CppType::PUBSUB));
320
1
}
321
322
TEST(TypeInfoUtilTest, isFloatingPoint)
323
1
{
324
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::BOOL));
325
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT8));
326
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT16));
327
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT32));
328
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::INT64));
329
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT8));
330
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT16));
331
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT32));
332
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UINT64));
333
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT16));
334
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT32));
335
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT64));
336
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARINT));
337
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT16));
338
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT32));
339
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT64));
340
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARUINT));
341
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::VARSIZE));
342
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::FIXED_SIGNED_BITFIELD));
343
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::FIXED_UNSIGNED_BITFIELD));
344
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::DYNAMIC_SIGNED_BITFIELD));
345
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::DYNAMIC_UNSIGNED_BITFIELD));
346
1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT16));
347
1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT32));
348
1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(SchemaType::FLOAT64));
349
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::STRING));
350
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::EXTERN));
351
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::ENUM));
352
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::BITMASK));
353
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::STRUCT));
354
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::CHOICE));
355
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::UNION));
356
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SQL_TABLE));
357
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SQL_DATABASE));
358
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::SERVICE));
359
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(SchemaType::PUBSUB));
360
361
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BOOL));
362
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT8));
363
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT16));
364
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT32));
365
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::INT64));
366
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT8));
367
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT16));
368
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT32));
369
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UINT64));
370
1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(CppType::FLOAT));
371
1
    ASSERT_EQ(true, TypeInfoUtil::isFloatingPoint(CppType::DOUBLE));
372
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::STRING));
373
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BIT_BUFFER));
374
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::ENUM));
375
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::BITMASK));
376
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::STRUCT));
377
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::CHOICE));
378
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::UNION));
379
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SQL_TABLE));
380
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SQL_DATABASE));
381
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::SERVICE));
382
1
    ASSERT_EQ(false, TypeInfoUtil::isFloatingPoint(CppType::PUBSUB));
383
1
}
384
385
} // namespace zserio