def test_copy(self): s1 = foo.simple_struct_t() s1.xpto = 123 # copy via constructor s2 = foo.simple_struct_t(s1) self.assertEqual(s2.xpto, 123) s2.xpto = 321 self.assertEqual(s2.xpto, 321) self.assertEqual(s1.xpto, 123) # copy via __copy__ s3 = copy.copy(s1) self.assertEqual(s3.xpto, 123) s3.xpto = 456 self.assertEqual(s3.xpto, 456) self.assertEqual(s1.xpto, 123)
def get_simple_list(self): l = [] for i in range(5): simple = foo.simple_struct_t() simple.xpto = i l.append(simple) #container = foo.SimpleStructList(l) return l
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_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_container_reverse_wrappers(self): class MyTestContainer(foo.TestContainer): def __init__(self): super(MyTestContainer, self).__init__() self.list_that_was_set = None def get_simple_list(self): l = [] for i in range(5): simple = foo.simple_struct_t() simple.xpto = i l.append(simple) #container = foo.SimpleStructList(l) return l def set_simple_list(self, container): self.list_that_was_set = container return sum([s.xpto for s in container]) test = MyTestContainer() container = test.get_simple_list() count = 0 for i, simple in enumerate(container): self.assertEqual(simple.xpto, i) count += 1 self.assertEqual(count, 5) ## set l = [] for i in range(5): simple = foo.simple_struct_t() simple.xpto = i l.append(simple) rv = test.set_simple_list(l) self.assertEqual(rv, sum(range(5))) count = 0 for i, simple in enumerate(test.list_that_was_set): self.assertEqual(simple.xpto, i) count += 1 self.assertEqual(count, 5)
def test_container_creation(self): container = foo.SimpleStructList() values = list(container) self.assertEqual(values, []) l = [] for i in range(10): simple = foo.simple_struct_t() simple.xpto = i l.append(simple) container = foo.SimpleStructList(l) values = list(container) self.assertEqual(len(values), 10) for i, value in enumerate(values): self.assertEqual(value.xpto, i) rv = foo.set_simple_list(l) self.assertEqual(rv, sum(range(10)))
def test_struct(self): struct = foo.simple_struct_t() struct.xpto = 123 self.assertEqual(struct.xpto, 123)