def test_first_1(self):
     """get first elt from empty list -> None"""
     expected = "a"
     pl = PositionalList()
     pl.add_first('a')
     res = pl.first()
     self.assertIsInstance(res, PositionalList.Position)
     actual = res.payload()
     self.assertEqual(actual, expected)
 def test_first_3(self):
     expected = "c"
     pl = PositionalList()
     pl.add_first('a')
     pl.add_first('b')
     pl.add_first('c')
     res = pl.first()
     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_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_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_add_first_3(self):
     pl = PositionalList()
     pl.add_first('c')
     pl.add_first('b')
     pl.add_first('a')
     self.assertEqual(len(pl), 3)