Coverage Report

Created: 2023-12-13 14:58

test/zserio/TypeInfoUtilTest.cpp
Line
Count
Source
1
#include "gtest/gtest.h"
2
3
#include "zserio/TypeInfoUtil.h"
4
5
namespace zserio
6
{
7
8
TEST(TypeInfoUtilTest, isCompound)
9
1
{
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
1
}
70
71
TEST(TypeInfoUtilTest, hasChoice)
72
1
{
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
1
}
133
134
TEST(TypeInfoUtilTest, isFixedSize)
135
1
{
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
1
}
196
197
TEST(TypeInfoUtilTest, isIntegral)
198
1
{
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
1
}
259
260
TEST(TypeInfoUtilTest, isSigned)
261
1
{
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
1
}
322
323
TEST(TypeInfoUtilTest, isFloatingPoint)
324
1
{
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
1
}
385
386
} // namespace zserio