def test_add_after_c_in_abc(self):
     pl = PositionalList()
     a = pl.add_last('a')
     b = pl.add_last('b')
     c = pl.add_last('c')
     forty_two = pl.add_after(c, 42)
     actual_after_forty_two = pl.after(forty_two)
     self.assertIsNone(actual_after_forty_two)
 def test_add_before_a_in_abc(self):
     pl = PositionalList()
     a = pl.add_last('a')
     b = pl.add_last('b')
     c = pl.add_last('c')
     forty_two = pl.add_before(a, 42)
     actual_before_forty_two = pl.before(forty_two)
     self.assertIsNone(actual_before_forty_two)
 def test_add_after_b_in_abc(self):
     pl = PositionalList()
     a = pl.add_last('a')
     b = pl.add_last('b')
     c = pl.add_last('c')
     forty_two = pl.add_after(b, 42)
     expected_after_forty_two = c
     actual_after_forty_two = pl.after(forty_two)
     self.assertEqual(expected_after_forty_two, actual_after_forty_two)
 def test_add_before_b_in_abc(self):
     pl = PositionalList()
     a = pl.add_last('a')
     b = pl.add_last('b')
     c = pl.add_last('c')
     forty_two = pl.add_before(b, 42)
     expected_before_forty_two = a
     actual_before_forty_two = pl.before(forty_two)
     self.assertEqual(expected_before_forty_two, actual_before_forty_two)
 def test_last_1(self):
     """get first elt from empty list -> None"""
     expected = "a"
     pl = PositionalList()
     pl.add_last('a')
     res = pl.last()
     self.assertIsInstance(res, PositionalList.Position)
     actual = res.payload()
     self.assertEqual(actual, expected)
 def test_add_after_a_in_abc(self):
     pl = PositionalList()
     a = pl.add_last('a')
     b = pl.add_last('b')
     c = pl.add_last('c')
     forty_one = pl.add_after(a, 41)
     forty_two = pl.add_after(forty_one, 42)
     expected_after_forty_one = forty_two
     actual_after_forty_one = pl.after(forty_one)
     self.assertEqual(expected_after_forty_one, actual_after_forty_one)
 def test_last_3(self):
     expected = "c"
     pl = PositionalList()
     pl.add_last('a')
     pl.add_last('b')
     pl.add_last('c')
     res = pl.last()
     self.assertIsInstance(res, PositionalList.Position)
     actual = res.payload()
     self.assertEqual(actual, expected)
 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_add_first_after_before_len(self):
        pl = PositionalList()
        a = pl.add_first('a')
        self.assertEqual(len(pl), 1)

        b = pl.add_after(a, 'b')
        self.assertEqual(len(pl), 2)

        c = pl.add_last('c')
        self.assertEqual(len(pl), 3)

        d = pl.add_after(c, 'd')
        self.assertEqual(len(pl), 4)
    def test_last_first_0(self):
        expected_first = "a"
        expected_last = "z"
        pl = PositionalList()
        pl.add_first('c')
        pl.add_last('x')
        pl.add_first('b')
        pl.add_last('y')
        pl.add_last('z')
        pl.add_first('a')

        res = pl.first()
        self.assertIsInstance(res, PositionalList.Position)
        actual_first = res.payload()
        self.assertEqual(actual_first, expected_first)

        res = pl.last()
        self.assertIsInstance(res, PositionalList.Position)
        actual_last = res.payload()
        self.assertEqual(actual_last, expected_last)

        self.assertEqual(len(pl), 6)
 def test_delete_len(self):
     pl = PositionalList()
     a = pl.add_first('a')
     b = pl.add_after(a, 'b')
     c = pl.add_last('c')
     d = pl.add_after(c, 'd')
     self.assertEqual(len(pl), 4)
     pl.delete(a)
     self.assertEqual(len(pl), 3)
     pl.delete(pl.first())
     self.assertEqual(len(pl), 2)
     pl.delete(pl.last())
     self.assertEqual(len(pl), 1)
     self.assertTrue(pl)
     pl.delete(c)
     self.assertEqual(len(pl), 0)
     self.assertFalse(pl)
 def test_add_last_3(self):
     pl = PositionalList()
     pl.add_last('c')
     pl.add_last('b')
     pl.add_last('a')
     self.assertEqual(len(pl), 3)