def test_not_equal(self): pl1 = PositionalList.from_iterable('cba') pl2 = PositionalList() a = pl2.add_first('a') b = pl2.add_after(a, 'b') c = pl2.add_last('c') self.assertNotEqual(pl1, pl2)
def test_delete_first(self): expected = PositionalList.from_iterable('bc') pl = PositionalList() a = pl.add_first('a') b = pl.add_after(a, 'b') c = pl.add_last('c') db = pl.delete(a) self.assertEqual(pl, expected) self.assertEqual(db, 'a')
def test_replace_first(self): expected = PositionalList.from_iterable('Abcd') pl = PositionalList() a = pl.add_first('a') b = pl.add_after(a, 'b') c = pl.add_last('c') d = pl.add_after(c, 'd') ret = pl.replace(a, 'A') self.assertEqual(ret, 'a') self.assertEqual(pl, expected)
def test_sort_scrambled_non_uniques_3(self): expected = PositionalList.from_iterable( [-1, -1, -1, -1, -1, 0, 0, 0, 0, 0]) pl = PositionalList.from_iterable([0, 0, 0, 0, 0, -1, -1, -1, -1, -1]) pl.sort() self.assertEqual(pl, expected)
def test_sort_scrambled_non_uniques_1(self): expected = PositionalList.from_iterable([0, 0, 1, 1, 2, 2, 3, 3, 4, 4]) pl = PositionalList.from_iterable([2, 0, 3, 4, 1, 3, 0, 1, 4, 2]) pl.sort() self.assertEqual(pl, expected)
def test_sort_scrambled_uniques(self): expected = PositionalList.from_iterable(list(range(10))) pl = PositionalList.from_iterable([4, 3, 8, 0, 1, 9, 7, 2, 6, 5]) pl.sort() self.assertEqual(pl, expected)
def test_sort_reversed(self): expected = PositionalList.from_iterable(list(range(11))) pl = PositionalList.from_iterable(list(range(10, -1, -1))) pl.sort() self.assertEqual(pl, expected)
def test_sort_all_same_neg(self): expected = PositionalList.from_iterable([-42] * 10) pl = PositionalList.from_iterable([-42] * 10) pl.sort() self.assertEqual(pl, expected)
def test_from_iterable_first_last_list(self): it = list(range(10)) pl = PositionalList.from_iterable(it) self.assertEqual(pl.first().payload(), it[0]) self.assertEqual(pl.last().payload(), it[-1])
def test_sort_sorted_neg(self): expected = PositionalList.from_iterable([-3, -2, -1, 0, 1, 2, 3]) pl = PositionalList.from_iterable([0, -3, 1, 2, -2, -1, 3]) pl.sort() self.assertEqual(pl, expected)
def test_from_iterable_len_1(self): it = 'abc' pl = PositionalList.from_iterable(it) self.assertEqual(len(pl), len(it))
def test_from_iterable_instance(self): it = 'abc' pl = PositionalList.from_iterable(it) self.assertIsInstance(pl, PositionalList)