Ejemplo n.º 1
0
class TestDLL(unittest.TestCase):
    def setUp(self):
        self.dll = DoublyLinkedList()

    def test_get_next(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(3)
        self.assertEqual(self.dll.index(1).get_next().value, 2)

    def test_get_prev(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(3)
        self.assertEqual(self.dll.index(2).get_prev().value, 1)

    def test_print_reverse(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(3)
        self.assertEqual(self.dll.print_reverse(), "3->2->1->5")

    def test_print(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(3)
        self.assertEqual(self.dll.pprint(), "5->1->2->3")

    def test_add_at_index(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(3)
        self.assertEqual(self.dll.add_at_index(2, 4).get_prev().value, 1)

    def test_reduce_to_unique(self):
        self.dll.append(5)
        self.dll.append(1)
        self.dll.append(2)
        self.dll.append(2)
        self.assertEqual(self.dll.reduce_to_unique(), "5->1->2")
Ejemplo n.º 2
0
    def test_add_delete_get(self):
        dl = DoublyLinkedList()
        dl.add_at_index(0, 1)
        eq_(dl.get(0), 1)
        eq_(dl.get(1), -1)
        dl.add_at_index(1, 10)
        eq_(dl.get(1), 10)
        dl.add_at_index(1, 100)
        eq_(dl.get(0), 1)
        eq_(dl.get(1), 100)
        eq_(dl.get(2), 10)

        dl.delete_at_index(1)
        eq_(dl.get(0), 1)
        eq_(dl.get(1), 10)
        dl.delete_at_index(0)
        eq_(dl.get(0), 10)
        dl.add_at_index(0, 20)
        dl.delete_at_index(1)
        eq_(dl.get(0), 20)
        dl.delete_at_index(0)
        eq_(dl.get(0), -1)