Skip to content
Snippets Groups Projects

Unified interface for attributes

Merged Olivier BICHLER requested to merge unified_params into main
3 files
+ 47
8
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -67,6 +67,29 @@ class test_operator_binding(unittest.TestCase):
self.generic_operator.add_attr("l_str", ["ok"])
self.assertEqual(self.generic_operator.get_attr("l_str"), ["ok"])
def test_dynamicattribute_binding(self):
# Check original C++ attributes are binded
attrs = aidge_core.test_DynamicAttributes_binding()
self.assertEqual(attrs.has_attr("a"), True)
self.assertEqual(attrs.get_attr("a"), 42)
self.assertEqual(attrs.has_attr("b"), True)
self.assertEqual(attrs.get_attr("b"), "test")
self.assertEqual(attrs.has_attr("c"), True)
self.assertEqual(attrs.get_attr("c"), [True, False, True])
self.assertEqual(attrs.get_attrs_name(), {"a", "b", "c"})
self.assertEqual(attrs.has_attr("d"), False)
# Add Python attributes
attrs.add_attr("d", 18.56)
self.assertEqual(attrs.get_attr("d"), 18.56)
self.assertEqual(attrs.has_attr("d"), True)
self.assertEqual(attrs.get_attrs_name(), {"a", "b", "c", "d"})
self.assertEqual(attrs.has_attr("e"), False)
# Check that added Python attribute is accessible in C++
# Return the value of an attribute named "d" of type float64 (double in C++)
self.assertEqual(aidge_core.test_DynamicAttributes_binding_check(attrs), 18.56)
def test_compute_output_dims(self):
in_dims=[25, 25]
input = aidge_core.Producer(in_dims, name="In")
Loading