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

Method _test_attributes

dm_control/mjcf/element_test.py:102–124  ·  view source on GitHub ↗
(self, mjcf_element,
                       expected_values=None, recursive=False)

Source from the content-addressed store, hash-verified

100 self._test_properties(mujoco, parent=None, root=mujoco, recursive=True)
101
102 def _test_attributes(self, mjcf_element,
103 expected_values=None, recursive=False):
104 attributes = mjcf_element.get_attributes()
105 self.assertNotIn('class', attributes)
106 for attribute_name in mjcf_element.spec.attributes.keys():
107 if attribute_name == 'class':
108 attribute_name = 'dclass'
109 self.assertHasAttr(mjcf_element, attribute_name)
110 self.assertIn(attribute_name, dir(mjcf_element))
111 attribute_value = getattr(mjcf_element, attribute_name)
112 if attribute_value is not None:
113 self.assertIn(attribute_name, attributes)
114 else:
115 self.assertNotIn(attribute_name, attributes)
116 if expected_values:
117 if attribute_name in expected_values:
118 expected_value = expected_values[attribute_name]
119 np.testing.assert_array_equal(attribute_value, expected_value)
120 else:
121 self.assertIsNone(attribute_value)
122 if recursive:
123 for child in mjcf_element.all_children():
124 self._test_attributes(child, recursive=True)
125
126 def testAttributes(self):
127 mujoco = element.RootElement(model='test')

Callers 3

testAttributesMethod · 0.95
testAddMethod · 0.95

Calls 4

assertHasAttrMethod · 0.95
get_attributesMethod · 0.45
keysMethod · 0.45
all_childrenMethod · 0.45

Tested by

no test coverage detected