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_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_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_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_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_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_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_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)