def test_geometry_properties_api(self): # Test perception/ illustration properties (specifically Rgba). test_vector = [0., 0., 1., 1.] test_color = mut.Rgba(0., 0., 1., 1.) phong_props = mut.MakePhongIllustrationProperties(test_vector) self.assertIsInstance(phong_props, mut.IllustrationProperties) actual_color = phong_props.GetProperty("phong", "diffuse") self.assertEqual(actual_color, test_color) # Ensure that we can create it manually. phong_props = mut.IllustrationProperties() phong_props.AddProperty("phong", "diffuse", test_color) actual_color = phong_props.GetProperty("phong", "diffuse") self.assertEqual(actual_color, test_color) # Test proximity properties. prop = mut.ProximityProperties() self.assertEqual(str(prop), "[__default__]") default_group = prop.default_group_name() self.assertTrue(prop.HasGroup(group_name=default_group)) self.assertEqual(prop.num_groups(), 1) self.assertTrue(default_group in prop.GetGroupNames()) prop.AddProperty(group_name=default_group, name="test", value=3) self.assertTrue(prop.HasProperty(group_name=default_group, name="test")) self.assertEqual( prop.GetProperty(group_name=default_group, name="test"), 3) self.assertEqual( prop.GetPropertyOrDefault(group_name=default_group, name="empty", default_value=5), 5) group_values = prop.GetPropertiesInGroup(group_name=default_group) for name, value in group_values.items(): self.assertIsInstance(name, str) self.assertIsInstance(value, AbstractValue)
def test_geometry_properties_api(self): self.assertIsInstance( mut.MakePhongIllustrationProperties([0, 0, 1, 1]), mut.IllustrationProperties) prop = mut.ProximityProperties() self.assertEqual(str(prop), "[__default__]") default_group = prop.default_group_name() self.assertTrue(prop.HasGroup(group_name=default_group)) self.assertEqual(prop.num_groups(), 1) self.assertTrue(default_group in prop.GetGroupNames()) prop.AddProperty(group_name=default_group, name="test", value=3) self.assertTrue(prop.HasProperty(group_name=default_group, name="test")) self.assertEqual( prop.GetProperty(group_name=default_group, name="test"), 3) self.assertEqual( prop.GetPropertyOrDefault(group_name=default_group, name="empty", default_value=5), 5) group_values = prop.GetPropertiesInGroup(group_name=default_group) for name, value in group_values.items(): self.assertIsInstance(name, str) self.assertIsInstance(value, AbstractValue)
def test_geometry_properties_api(self): # Test perception/ illustration properties (specifically Rgba). test_vector = [0., 0., 1., 1.] test_color = mut.Rgba(0., 0., 1., 1.) phong_props = mut.MakePhongIllustrationProperties(test_vector) self.assertIsInstance(phong_props, mut.IllustrationProperties) actual_color = phong_props.GetProperty("phong", "diffuse") self.assertEqual(actual_color, test_color) # Ensure that we can create it manually. phong_props = mut.IllustrationProperties() phong_props.AddProperty("phong", "diffuse", test_color) actual_color = phong_props.GetProperty("phong", "diffuse") self.assertEqual(actual_color, test_color) # Test proximity properties. prop = mut.ProximityProperties() self.assertEqual(str(prop), "[__default__]") default_group = prop.default_group_name() self.assertTrue(prop.HasGroup(group_name=default_group)) self.assertEqual(prop.num_groups(), 1) self.assertTrue(default_group in prop.GetGroupNames()) prop.AddProperty(group_name=default_group, name="test", value=3) self.assertTrue(prop.HasProperty(group_name=default_group, name="test")) self.assertEqual( prop.GetProperty(group_name=default_group, name="test"), 3) self.assertEqual( prop.GetPropertyOrDefault( group_name=default_group, name="empty", default_value=5), 5) group_values = prop.GetPropertiesInGroup(group_name=default_group) for name, value in group_values.items(): self.assertIsInstance(name, str) self.assertIsInstance(value, AbstractValue) # Remove the property. self.assertTrue(prop.RemoveProperty(group_name=default_group, name="test")) self.assertFalse(prop.HasProperty(group_name=default_group, name="test")) # Update a property. prop.AddProperty(group_name=default_group, name="to_update", value=17) self.assertTrue(prop.HasProperty(group_name=default_group, name="to_update")) self.assertEqual( prop.GetProperty(group_name=default_group, name="to_update"), 17) prop.UpdateProperty(group_name=default_group, name="to_update", value=20) self.assertTrue(prop.HasProperty(group_name=default_group, name="to_update")) self.assertEqual( prop.GetProperty(group_name=default_group, name="to_update"), 20) # Property copying. for PropertyType in [mut.ProximityProperties, mut.IllustrationProperties, mut.PerceptionProperties]: props = PropertyType() props.AddProperty("g", "p", 10) self.assertTrue(props.HasProperty("g", "p")) props_copy = PropertyType(other=props) self.assertTrue(props_copy.HasProperty("g", "p")) props_copy2 = copy.copy(props) self.assertTrue(props_copy2.HasProperty("g", "p")) props_copy3 = copy.deepcopy(props) self.assertTrue(props_copy3.HasProperty("g", "p"))