MCPcopy Create free account
hub / github.com/apache/fory / TEST

Function TEST

cpp/fory/meta/enum_info_test.cc:53–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51using ::fory::RegisteredEnum;
52
53TEST(EnumInfoTest, DefaultMetadataFallback) {
54 using Info = meta::EnumInfo<PlainEnum>;
55 static_assert(!Info::defined, "PlainEnum should not be registered");
56 EXPECT_FALSE(Info::defined);
57 EXPECT_EQ(0u, Info::size);
58 EXPECT_FALSE(Info::contains(PlainEnum::A));
59 EXPECT_FALSE(Info::contains(static_cast<PlainEnum>(123)));
60
61 using Metadata = meta::EnumMetadata<PlainEnum>;
62 std::underlying_type_t<PlainEnum> ordinal = 0;
63 EXPECT_TRUE(Metadata::to_ordinal(PlainEnum::B, &ordinal));
64 EXPECT_EQ(static_cast<std::underlying_type_t<PlainEnum>>(PlainEnum::B),
65 ordinal);
66
67 PlainEnum roundtrip = PlainEnum::A;
68 EXPECT_TRUE(Metadata::from_ordinal(ordinal, &roundtrip));
69 EXPECT_EQ(PlainEnum::B, roundtrip);
70
71 ordinal = static_cast<std::underlying_type_t<PlainEnum>>(PlainEnum::A);
72 EXPECT_TRUE(Metadata::from_ordinal(ordinal, &roundtrip));
73 EXPECT_EQ(PlainEnum::A, roundtrip);
74}
75
76TEST(EnumInfoTest, RegisteredEnumProvidesMetadata) {
77 using Info = meta::EnumInfo<RegisteredEnum>;

Callers

nothing calls this directly

Calls 1

emptyMethod · 0.45

Tested by

no test coverage detected