MCPcopy Create free account
hub / github.com/google-deepmind/mujoco / TEST_F

Function TEST_F

test/plugin/decoder/decoder_test.cc:68–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66using DecoderPluginTest = MujocoTest;
67
68TEST_F(DecoderPluginTest, CanDecode) {
69 mjpDecoder decoder = FakeDecoder();
70 mjp_registerDecoder(&decoder);
71
72 static constexpr char xml[] = R"(
73 <mujoco>
74 <asset>
75 <model name="fakeformat" file="dummy.fakeformat"/>
76 <model name="also_fakeformat" file="dummy.alsoFakeFormat"/>
77 </asset>
78 <worldbody>
79 <attach model="fakeformat" prefix="test"/>
80 </worldbody>
81 </mujoco>
82 )";
83
84 // Check referencing a resource via XML invokes the decoder.
85 char error[1024];
86 mjSpec* spec = mj_parseXMLString(xml, nullptr, error, sizeof(error));
87 mjModel* model = mj_compile(spec, nullptr);
88 ASSERT_THAT(model, testing::NotNull()) << error;
89 EXPECT_EQ(model->nbody, 2); // world + included body
90 EXPECT_EQ(model->ngeom, 1);
91 mj_deleteModel(model);
92 mj_deleteSpec(spec);
93
94 // Check mj_parse with extension .fakeformat
95 spec = mj_parse("dummy.fakeformat", nullptr, nullptr, error, sizeof(error));
96 model = mj_compile(spec, nullptr);
97 EXPECT_EQ(model->nbody, 2); // world + included body
98 EXPECT_EQ(model->ngeom, 1);
99 mj_deleteModel(model);
100 mj_deleteSpec(spec);
101
102 // Check mj_parse with extension .alsoFakeFormat
103 spec =
104 mj_parse("dummy.alsoFakeFormat", nullptr, nullptr, error, sizeof(error));
105 model = mj_compile(spec, nullptr);
106 EXPECT_EQ(model->nbody, 2); // world + included body
107 EXPECT_EQ(model->ngeom, 1);
108 mj_deleteModel(model);
109 mj_deleteSpec(spec);
110
111 // Check mj_parse with content_type
112 spec = mj_parse("dummy.fakeformat", "model/fakeformat", nullptr, error,
113 sizeof(error));
114 model = mj_compile(spec, nullptr);
115 EXPECT_EQ(model->nbody, 2); // world + included body
116 EXPECT_EQ(model->ngeom, 1);
117 mj_deleteModel(model);
118 mj_deleteSpec(spec);
119}
120
121} // namespace
122} // namespace mujoco

Callers

nothing calls this directly

Calls 7

FakeDecoderFunction · 0.85
mjp_registerDecoderFunction · 0.85
mj_parseXMLStringFunction · 0.85
mj_compileFunction · 0.85
mj_deleteModelFunction · 0.85
mj_deleteSpecFunction · 0.85
mj_parseFunction · 0.85

Tested by

no test coverage detected