def test_extend(self): a_list = self.a_list[:] a_list.extend(self.b_list) a = statemachine.ViewList(self.a) a.extend(self.b) self.assertEqual(a, a_list) self.assertEqual(a.info(len(self.a) + 1), ('b', 1))
def test_del_slice(self): a = statemachine.ViewList(self.a[:]) s = a[2:] s_list = self.a_list[2:] del s[3:5] del s_list[3:5] self.assertEqual(s, s_list) self.assertEqual(s, a[2:]) self.assertEqual(s.items, a[2:].items)
def test_trim(self): a = statemachine.ViewList(self.a[:]) s = a[1:-1] s.trim_start(1) self.assertEqual(a, self.a) self.assertEqual(s, a[2:-1]) s.trim_end(1) self.assertEqual(a, self.a) self.assertEqual(s, a[2:-2])
def test_set_slice(self): a = statemachine.ViewList(self.a[:]) s = a[2:-2] s[2:2] = self.b s_list = self.a_list[2:-2] s_list[2:2] = self.b_list self.assertEqual(s, s_list) self.assertEqual(s, a[2:-2]) self.assertEqual(s.items, a[2:-2].items)
def test_append(self): a_list = self.a_list[:] a_list.append('Q') a_list.extend(self.b_list) a = statemachine.ViewList(self.a) a.append('Q', 'runtime') a.append(self.b) self.assertEqual(a, a_list) self.assertEqual(a.info(len(self.a)), ('runtime', 0)) self.assertEqual(a.info(-2), ('b', len(self.b) - 2))
def test_view(self): a = statemachine.ViewList(self.a[:]) a.insert(4, self.b) s = a[2:-2] s.insert(5, self.c) self.assertEqual(s, a[2:-2]) self.assertEqual(s.items, a[2:-2].items) s.pop() self.assertEqual(s, a[2:-2]) self.assertEqual(s.items, a[2:-2].items) s.remove('X') self.assertEqual(s, a[2:-2]) self.assertEqual(s.items, a[2:-2].items)
def setUp(self): self.a = statemachine.ViewList(self.a_list, 'a') self.b = statemachine.ViewList(self.b_list, 'b') self.c = statemachine.ViewList(self.c_list, 'c')