Пример #1
0
 def test_remove(self):
     lst = OrderedList()
     lst.add(1)
     lst.add(3)
     lst.add(2)
     self.assertEqual(lst.remove(1), 0)
     self.assertEqual(lst.remove(3), 1)
     self.assertRaises(ValueError, lst.remove, 3)
Пример #2
0
 def test_4(self):
     ordered_list = OrderedList()
     self.assertEqual(ordered_list.is_empty(), True)
     ordered_list.add(2)
     ordered_list.add(1)
     ordered_list.add(3)
     self.assertEqual(ordered_list.head.val, 1)
     self.assertEqual(ordered_list.tail.val, 3)
     self.assertRaises(ValueError, ordered_list.remove, 4)
     self.assertEqual(ordered_list.remove(2), 1)
     self.assertEqual(ordered_list.pop(0), 1)
     self.assertEqual(ordered_list.pop(), 3)
Пример #3
0
 def test_OrderedList(self):
     ordered_list = OrderedList()
     self.assertEqual(ordered_list.is_empty(), True)
     ordered_list.add(2)
     ordered_list.add(1)
     ordered_list.add(3)
     self.assertEqual(ordered_list.size(), 3)
     self.assertEqual(ordered_list.index(2), 1)
     self.assertEqual(ordered_list.index(4), -1)
     self.assertEqual(ordered_list.search_forward(3), True)
     self.assertEqual(ordered_list.search_backward(3), True)
     self.assertEqual(ordered_list.remove(4), -1)
     self.assertEqual(ordered_list.remove(2), 1)
     self.assertEqual(ordered_list.pop(0), 1)
     self.assertEqual(ordered_list.pop(), 3)
Пример #4
0
class TestOrderedList(unittest.TestCase):
    def setUp(self):
        self.ol = OrderedList()

    def test_str(self):
        self.ol.add(1)
        self.ol.add(2)
        self.ol.add(3)
        self.assertEqual('[1, 2, 3]', self.ol.__str__())

    def test_isEmpty(self):
        self.assertTrue(self.ol.isEmpty())
        self.ol.add(1)
        self.assertFalse(self.ol.isEmpty())

    def test_size(self):
        self.assertEqual(0, self.ol.size())
        self.ol.add(1)
        self.assertEqual(1, self.ol.size())

    def test_index(self):
        self.ol.add(1)
        self.ol.add(2)
        self.assertEqual(0, self.ol.index(1))
        self.assertEqual(1, self.ol.index(2))
        self.assertIsNone(self.ol.index(3))

    def test_search(self):
        self.ol.add(1)
        self.ol.add(4)
        self.ol.add(9)
        self.assertTrue(self.ol.search(1))
        self.assertFalse(self.ol.search(2))
        self.assertFalse(self.ol.search(5))

    def test_add(self):
        self.ol.add(5)
        self.ol.add(3)
        self.ol.add(7)
        self.ol.add(6)
        self.assertEqual(0, self.ol.index(3))
        self.assertEqual(1, self.ol.index(5))
        self.assertEqual(2, self.ol.index(6))
        self.assertEqual(3, self.ol.index(7))

    def test_remove(self):
        # 3->5->6->7
        self.ol.add(5)
        self.ol.add(3)
        self.ol.add(7)
        self.ol.add(6)
        self.assertEqual(6, self.ol.remove(6))
        self.assertEqual(7, self.ol.remove(7))
        self.assertEqual(3, self.ol.remove(3))
        self.assertEqual(0, self.ol.index(5))
        with self.assertRaises(ValueError):
            self.ol.remove(3)

    def test_pop(self):
        # 3->5->6->7
        self.ol.add(5)
        self.ol.add(3)
        self.ol.add(7)
        self.ol.add(6)
        self.assertEqual(7, self.ol.pop())
        self.assertEqual(6, self.ol.pop())
        self.assertEqual(5, self.ol.pop())
        self.assertEqual(3, self.ol.pop())

    def test_pop_pos(self):
        # 3->5->6->7
        self.ol.add(5)
        self.ol.add(3)
        self.ol.add(7)
        self.ol.add(6)
        self.assertEqual(6, self.ol.pop(2))
        self.assertEqual(7, self.ol.pop(2))
        self.assertEqual(3, self.ol.pop(0))
        self.assertEqual(5, self.ol.pop(0))

    def test_slice(self):
        self.assertEqual([], self.ol.slice(0, 5))
        # 1 2 3 4 5
        self.ol.add(1)
        self.ol.add(2)
        self.ol.add(3)
        self.ol.add(4)
        self.ol.add(5)
        self.assertEqual([1, 2], self.ol.slice(0, 2))
        self.assertEqual([3, 4, 5], self.ol.slice(2, 5))