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

Method testDetach

dm_control/composer/entity_test.py:256–277  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

254 self.assertEqual(list(entities[0].iter_entities()), entities)
255
256 def testDetach(self):
257 entities = [TestEntity() for _ in range(4)]
258 entities[0].attach(entities[1])
259 entities[1].attach(entities[2])
260 entities[0].attach(entities[3])
261
262 entities[1].detach()
263 with self.assertRaisesRegex(RuntimeError, 'not attached'):
264 entities[1].detach()
265
266 self.assertIsNone(entities[0].parent)
267 self.assertIsNone(entities[1].parent)
268 self.assertIs(entities[2].parent, entities[1])
269 self.assertIs(entities[3].parent, entities[0])
270
271 self.assertIsNone(entities[0].mjcf_model.parent_model)
272 self.assertIsNone(entities[1].mjcf_model.parent_model)
273 self.assertIs(entities[2].mjcf_model.parent_model, entities[1].mjcf_model)
274 self.assertIs(entities[3].mjcf_model.parent_model, entities[0].mjcf_model)
275
276 self.assertEqual(list(entities[0].iter_entities()),
277 [entities[0], entities[3]])
278
279 def testIterEntitiesExcludeSelf(self):
280 entities = [TestEntity() for _ in range(4)]

Callers

nothing calls this directly

Calls 5

TestEntityClass · 0.85
assertEqualMethod · 0.80
attachMethod · 0.45
detachMethod · 0.45
iter_entitiesMethod · 0.45

Tested by

no test coverage detected