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

Function TEST

cpp/fory/encoder/row_encode_trait_test.cc:40–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38};
39
40TEST(RowEncodeTrait, Basic) {
41 auto field_vector = encoder::RowEncodeTrait<A>::FieldVector();
42
43 static_assert(std::is_same_v<decltype(field_vector), encoder::FieldVector>);
44
45 ASSERT_EQ(field_vector.size(), 3);
46 ASSERT_EQ(field_vector[0]->name(), "x");
47 ASSERT_EQ(field_vector[1]->name(), "y");
48 ASSERT_EQ(field_vector[2]->name(), "z");
49
50 ASSERT_EQ(field_vector[0]->type()->name(), "int32");
51 ASSERT_EQ(field_vector[1]->type()->name(), "float");
52 ASSERT_EQ(field_vector[2]->type()->name(), "bool");
53
54 RowWriter writer(schema(field_vector));
55 writer.reset();
56
57 A a{233, 3.14, true};
58 encoder::RowEncodeTrait<A>::write(encoder::EmptyWriteVisitor{}, a, writer);
59
60 auto row = writer.to_row();
61 ASSERT_EQ(row->get_int32(0), 233);
62 ASSERT_FLOAT_EQ(row->get_float(1), 3.14);
63 ASSERT_EQ(row->get_boolean(2), true);
64}
65
66struct B {
67 int num;

Callers

nothing calls this directly

Calls 15

schemaFunction · 0.85
get_booleanMethod · 0.80
get_stringMethod · 0.80
copy_to_array_dataMethod · 0.80
keys_arrayMethod · 0.80
values_arrayMethod · 0.80
typeMethod · 0.65
resetMethod · 0.65
fieldMethod · 0.65
schemaMethod · 0.65
writeFunction · 0.50
SchemaClass · 0.50

Tested by

no test coverage detected