Exemple #1
0
 def test_index(self):
     lst = OrderedList()
     self.assertRaises(LookupError, lst.index, 5)
     lst.head = Node(2, Node(5, Node(10, None)))
     lst.num_items = 3
     self.assertEqual(lst.index(5), 1)
     self.assertEqual(lst.index(2), 0)
     self.assertEqual(lst.index(10), 2)
Exemple #2
0
 def test_2(self):
     ordered_list = OrderedList()
     ordered_list.add(2)
     self.assertEqual(ordered_list.head.val, 2)
     self.assertEqual(ordered_list.tail.val, 2)
     ordered_list.add(1)
     ordered_list.add(3)
     self.assertEqual(ordered_list.index(1), 0)
     self.assertEqual(ordered_list.index(2), 1)
     self.assertEqual(ordered_list.index(3), 2)
     self.assertRaises(LookupError, ordered_list.index, 4)
Exemple #3
0
 def test_8(self):
     ordered_list = OrderedList()
     ordered_list.add(1)
     ordered_list.add(2)
     ordered_list.add(5)
     ordered_list.add(3)
     self.assertEqual(ordered_list.head.val, 1)
     self.assertEqual(ordered_list.tail.val, 5)
     self.assertEqual(ordered_list.pop(), 5)
     self.assertEqual(ordered_list.pop(1), 2)
     self.assertEqual(ordered_list.pop(), 3)
     self.assertRaises(IndexError, ordered_list.pop, 1)
     self.assertEqual(ordered_list.index(1), 0)
     self.assertEqual(ordered_list.pop(), 1)
     self.assertRaises(IndexError, ordered_list.pop)
Exemple #4
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)
 def test_1(self):
     list1 = OrderedList()
     list1.add(1)
     list1.add(2)
     list1.add(3)
     print(list1)
     self.assertEqual(list1.search_forward(3), True)
     self.assertEqual(list1.search_backward(3), True)
     self.assertEqual(list1.search_forward(5), False)
     self.assertEqual(list1.search_backward(-1), False)
     self.assertEqual(list1.size(), 3)
     list2 = OrderedList()
     self.assertEqual(list2.is_empty(), True)
     self.assertEqual(list2.index(3), 2)
     list2.add(1)
     self.assertEqual(list2.pop(), 1)
Exemple #6
0
 def test_OrderedList_coverage_cases(self):
     ordered_list = OrderedList()
     ordered_list.add(1)
     ordered_list.add(2)
     ordered_list.add(5)
     ordered_list.add(3)
     self.assertEqual(ordered_list.search_forward(4), False)
     self.assertEqual(ordered_list.search_forward(6), False)
     self.assertEqual(ordered_list.search_forward(1), True)
     self.assertEqual(ordered_list.search_backward(4), False)
     self.assertEqual(ordered_list.search_backward(2), True)
     self.assertEqual(ordered_list.search_backward(5), True)
     self.assertEqual(ordered_list.pop(), 5)
     self.assertEqual(ordered_list.pop(1), 2)
     self.assertEqual(ordered_list.pop(), 3)
     self.assertRaises(IndexError, ordered_list.pop, 1)
     self.assertEqual(ordered_list.index(1), 0)
     self.assertEqual(ordered_list.pop(), 1)
     self.assertRaises(IndexError, ordered_list.pop)
Exemple #7
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))