def test_extend(self): tl = TraitList([1], item_validator=int_item_validator, notifiers=[self.notification_handler]) tl.extend([1, 2]) self.assertEqual(self.index, 1) self.assertEqual(self.removed, []) self.assertEqual(self.added, [1, 2])
def test_extend_iterable(self): tl = TraitList([1], item_validator=int_item_validator, notifiers=[self.notification_handler]) tl.extend(x**2 for x in range(10, 13)) self.assertEqual(tl, [1, 100, 121, 144]) self.assertEqual(self.index, 1) self.assertEqual(self.removed, []) self.assertEqual(self.added, [100, 121, 144])
def test_extend_empty(self): tl = TraitList([1], item_validator=int_item_validator, notifiers=[self.notification_handler]) tl.extend([]) self.assertEqual(tl, [1]) self.assertIsNone(self.index) self.assertIsNone(self.removed) self.assertIsNone(self.added)
def test_extend_validates(self): tl = TraitList([5], item_validator=int_item_validator, notifiers=[self.notification_handler]) with self.assertRaises(TraitError): tl.extend([2, 3, 4.0]) self.assertEqual(tl, [5]) self.assertIsNone(self.index) self.assertIsNone(self.removed) self.assertIsNone(self.added)
def test_extend_converts(self): tl = TraitList([4], item_validator=int_item_validator, notifiers=[self.notification_handler]) tl.extend([False, True]) self.assertEqual(tl, [4, 0, 1]) self.assertEqual(self.index, 1) self.assertEqual(self.removed, []) self.assertEqual(self.added, [0, 1]) self.assertTrue( all(type(item) is int for item in tl), msg="Non-integers found in int-only list", ) self.assertTrue( all(type(item) is int for item in self.added), msg="Event contains non-integers for int-only list", )