コード例 #1
0
 def test_is_empty(self):
     l = OrderedList()
     self.assertTrue(l.is_empty())
     l.add('apple')
     self.assertFalse(l.is_empty())
     l.remove('apple')
     self.assertTrue(l.is_empty())
コード例 #2
0
    def test_remove(self):
        # Build a list, check that it is as expected
        l = OrderedList()
        l.add('apple')
        l.add('banana')
        l.add('coconut')
        self.assertEqual(l.size, 3)
        self.assertEqual(l.first.item, 'apple')
        self.assertEqual(l.last.item, 'coconut')

        # Case: remove from front of list
        self.assertEqual(l.first.item, 'apple')
        l.remove('apple')
        self.assertEqual(l.first.item, 'banana')
        self.assertEqual(l.size, 2)

        # Case: remove from end of list
        l.add('durian')
        self.assertEqual(l.size, 3)
        self.assertEqual(l.last.item, 'durian')
        l.remove('durian')
        self.assertEqual(l.size, 2)
        self.assertEqual(l.last.item, 'coconut')
        self.assertEqual(l.first.item, 'banana')

        # Case: remove from middle of list
        l.add('elderberry')
        self.assertEqual(l.size, 3)
        self.assertEqual(l.last.item, 'elderberry')
        l.remove('coconut')
        self.assertEqual(l.size, 2)
        self.assertEqual(l.first.item, 'banana')
        self.assertEqual(l.last.item, 'elderberry')
        l.remove('banana')
        self.assertEqual(l.size, 1)
        self.assertEqual(l.first.item, 'elderberry')
        self.assertEqual(l.last.item, 'elderberry')
        l.remove('elderberry')
        self.assertEqual(l.size, 0)
        self.assertEqual(l.first, None)
        self.assertEqual(l.last, None)
        l.remove('pear')
        self.assertEqual(l.size, 0)
        self.assertEqual(l.first, None)
        self.assertEqual(l.last, None)