MCPcopy Create free account
hub / github.com/google-deepmind/dm_control / testFind

Method testFind

dm_control/mjcf/element_test.py:632–674  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

630 self.assertTrue(subbody.is_removed)
631
632 def testFind(self):
633 mujoco = parser.from_path(_TEST_MODEL_XML, resolve_references=False)
634 mujoco.model = 'model'
635
636 submujoco = copy.copy(mujoco)
637 submujoco.model = 'submodel'
638
639 subsubmujoco = copy.copy(mujoco)
640 subsubmujoco.model = 'subsubmodel'
641
642 submujoco.find('site', 'attachment').attach(subsubmujoco)
643 mujoco.attach(submujoco)
644
645 self.assertIsNotNone(mujoco.find('geom', 'b_0_0'))
646 self.assertIsNotNone(mujoco.find('body', 'b_0').find('geom', 'b_0_0'))
647 self.assertIsNone(mujoco.find('body', 'b_1').find('geom', 'b_0_0'))
648
649 self.assertIsNone(mujoco.find('geom', 'nonexistent'))
650 self.assertIsNone(mujoco.find('geom', 'nonexistent/b_0_0'))
651
652 self.assertEqual(mujoco.find('geom', 'submodel/b_0_0'),
653 submujoco.find('geom', 'b_0_0'))
654 self.assertEqual(mujoco.find('geom', 'submodel/subsubmodel/b_0_0'),
655 submujoco.find('geom', 'subsubmodel/b_0_0'))
656 self.assertEqual(submujoco.find('geom', 'subsubmodel/b_0_0'),
657 subsubmujoco.find('geom', 'b_0_0'))
658
659 subsubmujoco.find('geom', 'b_0_0').name = 'foo'
660 self.assertIsNone(mujoco.find('geom', 'submodel/subsubmodel/b_0_0'))
661 self.assertIsNone(submujoco.find('geom', 'subsubmodel/b_0_0'))
662 self.assertIsNone(subsubmujoco.find('geom', 'b_0_0'))
663 self.assertEqual(mujoco.find('geom', 'submodel/subsubmodel/foo'),
664 submujoco.find('geom', 'subsubmodel/foo'))
665 self.assertEqual(submujoco.find('geom', 'subsubmodel/foo'),
666 subsubmujoco.find('geom', 'foo'))
667
668 self.assertEqual(mujoco.find('actuator', 'b_0_0').root, mujoco)
669 self.assertEqual(mujoco.find('actuator', 'b_0_0').tag, 'velocity')
670 self.assertEqual(mujoco.find('actuator', 'b_0_0').joint, 'b_0_0')
671
672 self.assertEqual(mujoco.find('actuator', 'submodel/b_0_0').root, submujoco)
673 self.assertEqual(mujoco.find('actuator', 'submodel/b_0_0').tag, 'velocity')
674 self.assertEqual(mujoco.find('actuator', 'submodel/b_0_0').joint, 'b_0_0')
675
676 def testFindInvalidNamespace(self):
677 mjcf_model = mjcf.RootElement()

Callers

nothing calls this directly

Calls 4

assertEqualMethod · 0.80
copyMethod · 0.45
attachMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected