MCPcopy Create free account
hub / github.com/PlotJuggler/PlotJuggler / TEST

Function TEST

pj_datastore/tests/array_expansion_test.cpp:21–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19// ─────────────────────────────────────────────────────────────────
20
21TEST(ArrayExpansionTest, FixedSizeArray_Primitive_ProducesNColumns) {
22 // Schema: struct msg { float32[3] accel }
23 // Expected: 3 columns named accel[0], accel[1], accel[2]
24 DataEngine engine;
25 DatasetId ds = *engine.createDataset(PJ::DatasetDescriptor{.source_name = "t"});
26 DataWriter writer = engine.createWriter();
27
28 auto accel = PJ::makeArray("accel", PJ::makePrimitive("", PJ::PrimitiveType::kFloat32), 3u);
29 auto root = PJ::makeStruct("msg", {accel});
30 auto sid = *writer.registerSchema("msg_fixed", root);
31
32 TopicDescriptor desc;
33 desc.name = "imu";
34 desc.schema_id = sid;
35 auto topic_id = *writer.registerTopic(ds, desc);
36
37 auto handle = *writer.bindTopicWriter(topic_id);
38 ASSERT_EQ(handle.field_ids.size(), 3u);
39
40 EXPECT_EQ(*writer.resolveField(topic_id, "accel[0]"), 0u);
41 EXPECT_EQ(*writer.resolveField(topic_id, "accel[1]"), 1u);
42 EXPECT_EQ(*writer.resolveField(topic_id, "accel[2]"), 2u);
43}
44
45TEST(ArrayExpansionTest, FixedSizeArray_StructElement_ProducesNxMColumns) {
46 // Schema: struct msg { Pose[2] poses } where Pose = struct { float32 x, y, z }

Callers

nothing calls this directly

Calls 15

createDatasetMethod · 0.80
createWriterMethod · 0.80
bindTopicWriterMethod · 0.80
setMethod · 0.80
rangeQueryMethod · 0.80
forEachMethod · 0.80
readNumericAsDoubleMethod · 0.80
expandArrayMethod · 0.80
getTopicStorageMethod · 0.80
truncatedSampleCountMethod · 0.80
getMetadataMethod · 0.80

Tested by

no test coverage detected