def test_unnamed_container(self): test = foo.TestContainer() container = test.get_simple_vec() count = 0 for i, simple in enumerate(container): self.assertEqual(simple.xpto, i) count += 1 self.assertEqual(count, 10) rv = test.set_simple_vec(container) self.assertEqual(rv, sum(range(10)))
def test_unordered_map_container(self): test = foo.TestContainer() container = test.get_simple_unordered_map() count = 0 as_dict = { simple_key: simple_val.xpto for (simple_key, simple_val) in container } assert as_dict == {str(i): i for i in range(10)} rv = test.set_simple_unordered_map(container) self.assertEqual(rv, sum(range(10)))
def test_map_container(self): test = foo.TestContainer() container = test.get_simple_map() count = 0 for i, (simple_key, simple_val) in enumerate(container): self.assertEqual(simple_key, str(i)) self.assertEqual(simple_val.xpto, i) count += 1 self.assertEqual(count, 10) rv = test.set_simple_map(container) self.assertEqual(rv, sum(range(10)))
def test_container_param_by_ref(self): l = [] expected_sum = 0 for i in range(10): simple = foo.simple_struct_t() simple.xpto = i l.append(simple) expected_sum += i * 2 test = foo.TestContainer() rv, container = test.set_simple_list_by_ref(l) l1 = list(container) self.assertEqual(rv, expected_sum) self.assertEqual(len(l1), len(l)) for v, v1 in zip(l, l1): self.assertEqual(v1.xpto, 2 * v.xpto)
def test_ptr_vec(self): t = foo.TestContainer() t.set_vec_ptr(["hello", "world"]) r = t.get_vec_ptr() self.assertEqual(list(r), ["hello", "world"])
def test_out_vec(self): t = foo.TestContainer() v = list(t.get_vec()) self.assertEqual(v, ["hello", "world"])
def test_scan_containers_in_attributes(self): t = foo.TestContainer() v = list(t.m_floatSet) self.assertEqual(v, [1, 2, 3])