From a2a770453e04a758b27c0482fa86719b931db96f Mon Sep 17 00:00:00 2001 From: Alexis Fraudita Date: Tue, 12 Mar 2024 07:29:05 -0700 Subject: [PATCH] Copybara import of the project: -- 1fcff13dfdc70519c4d33e17ade4be6afb2960a2 by Alexis : add multipleBodies test for mj_loadXML -- 34270fa57946e68a82fa55313b64a5a56e5aa080 by Alexis : add some space -- 3594020eb9be57cb6a2eef0baeca97cee8f25aab by Alexis : remove TODO comment in xml_api_test COPYBARA_INTEGRATE_REVIEW=https://github.com/google-deepmind/mujoco/pull/1487 from alefram:alexis-test 3594020eb9be57cb6a2eef0baeca97cee8f25aab PiperOrigin-RevId: 615033458 Change-Id: I05fe5659b07b3226b82d2562e31bcd73f150b089 --- test/xml/xml_api_test.cc | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/test/xml/xml_api_test.cc b/test/xml/xml_api_test.cc index ade892f9..8988b851 100644 --- a/test/xml/xml_api_test.cc +++ b/test/xml/xml_api_test.cc @@ -64,7 +64,34 @@ TEST_F(LoadXmlTest, InvalidXmlFailsToLoad) { mj_deleteModel(model); } } -// TODO(nimrod): Add more tests for mj_loadXML. + +TEST_F(LoadXmlTest, MultipleBodies) { + static constexpr char xml[] = R"( + + + + + + + + + + + + + )"; + std::array error; + mjModel* model = LoadModelFromString(xml, error.data(), error.size()); + + ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data(); + EXPECT_EQ(model->nbody, 3); + + mjData* data = mj_makeData(model); + EXPECT_THAT(data, NotNull()); + mj_step(model, data); + mj_deleteData(data); + mj_deleteModel(model); +} using SaveLastXmlTest = MujocoTest;