MCPcopy Create free account
hub / github.com/bytedance/bolt / TEST

Function TEST

bolt/type/tests/VariantTypeTest.cpp:22–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20using namespace bytedance::bolt;
21
22TEST(VariantTypeTest, Basic) {
23 auto variantType = VARIANT();
24 EXPECT_EQ(variantType->kind(), TypeKind::VARIANT);
25 EXPECT_EQ(variantType->toString(), "VARIANT");
26 EXPECT_EQ(variantType->name(), "VARIANT");
27 EXPECT_EQ(variantType->kindName(), "VARIANT");
28 // VARIANT is NOT a primitive type (it has composite storage via
29 // VariantVector).
30 EXPECT_FALSE(variantType->isPrimitiveType());
31 EXPECT_FALSE(variantType->isFixedWidth());
32 // VARIANT comparison is byte-level and NOT semantically correct, so
33 // isOrderable/isComparable are false to prevent incorrect GROUP BY/JOIN/etc.
34 EXPECT_FALSE(variantType->isOrderable());
35 EXPECT_FALSE(variantType->isComparable());
36 EXPECT_EQ(variantType->size(), 2);
37 EXPECT_NO_THROW(variantType->childAt(0));
38 EXPECT_EQ(variantType->cppSizeInBytes(), sizeof(VariantValue));
39}
40
41TEST(VariantTypeTest, Factory) {
42 auto t1 = TypeFactory<TypeKind::VARIANT>::create();

Callers

nothing calls this directly

Calls 15

VARIANTFunction · 0.85
mapNameToTypeKindFunction · 0.85
mapTypeKindToNameFunction · 0.85
hasTypeFunction · 0.85
isFixedWidthMethod · 0.80
childAtMethod · 0.80
createFunction · 0.50
kindMethod · 0.45
toStringMethod · 0.45
nameMethod · 0.45
kindNameMethod · 0.45
isPrimitiveTypeMethod · 0.45

Tested by

no test coverage detected