コード例 #1
0
ファイル: 2_3.py プロジェクト: nkashy1/intprep
class deleteFromMiddleTests(unittest.TestCase):
    def setUp(self):
        self.linked_list = SinglyLinkedList(SinglyLinkedNode(0))
        for i in range(3):
            self.linked_list.append(SinglyLinkedNode(i+1))

    def test_1(self):
        node = self.linked_list.head.child
        deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 3)
        self.assertEqual(traversal, [0, 2, 3])

    def test_2(self):
        node = self.linked_list.head.child.child
        deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 3)
        self.assertEqual(traversal, [0, 1, 3])

    def test_3(self):
        for _ in range(2):
            node = self.linked_list.head.child
            deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 2)
        self.assertEqual(traversal, [0, 3])

    def test_4(self):
        node = self.linked_list.head.child.child.child
        self.assertRaises(ValueError, deleteFromMiddle, node)
コード例 #2
0
class deleteFromMiddleTests(unittest.TestCase):
    def setUp(self):
        self.linked_list = SinglyLinkedList(SinglyLinkedNode(0))
        for i in range(3):
            self.linked_list.append(SinglyLinkedNode(i + 1))

    def test_1(self):
        node = self.linked_list.head.child
        deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 3)
        self.assertEqual(traversal, [0, 2, 3])

    def test_2(self):
        node = self.linked_list.head.child.child
        deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 3)
        self.assertEqual(traversal, [0, 1, 3])

    def test_3(self):
        for _ in range(2):
            node = self.linked_list.head.child
            deleteFromMiddle(node)

        traversal = self.linked_list.traverse()
        self.assertEqual(len(traversal), 2)
        self.assertEqual(traversal, [0, 3])

    def test_4(self):
        node = self.linked_list.head.child.child.child
        self.assertRaises(ValueError, deleteFromMiddle, node)
コード例 #3
0
ファイル: 2_4.py プロジェクト: zomglings/intprep
    def test_2(self):
        linked_list = SinglyLinkedList()
        values = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
        for value in values:
            linked_list.append(SinglyLinkedNode(value))

        partition(linked_list, 10)

        traversal = linked_list.traverse()
        self.assertEqual(traversal, [9, 8, 7, 6, 5, 4, 3, 2, 1, 10])
コード例 #4
0
ファイル: 2_4.py プロジェクト: nkashy1/intprep
    def test_2(self):
        linked_list = SinglyLinkedList()
        values = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
        for value in values:
            linked_list.append(SinglyLinkedNode(value))

        partition(linked_list, 10)

        traversal = linked_list.traverse()
        self.assertEqual(traversal, [9, 8, 7, 6, 5, 4, 3, 2, 1, 10])
コード例 #5
0
ファイル: 2_1.py プロジェクト: zomglings/intprep
    def test_problem(self):
        linked_list = SinglyLinkedList(SinglyLinkedNode(-1))
        for i in range(100):
            linked_list.append(SinglyLinkedNode(i))
            linked_list.append(SinglyLinkedNode(i))

        for i in range(100):
            linked_list.append(SinglyLinkedNode(0))

        deduplicate(linked_list)
        self.assertEqual(linked_list.traverse(), [-1] + range(100))
コード例 #6
0
ファイル: 2_4.py プロジェクト: zomglings/intprep
    def test_1(self):
        linked_list = SinglyLinkedList()
        values = [3, 5, 8, 5, 10, 2, 1]
        for value in values:
            linked_list.append(SinglyLinkedNode(value))

        partition(linked_list, 5)

        traversal = linked_list.traverse()
        self.assertEqual(set(traversal[:3]), set([1, 2, 3]))
        self.assertEqual(set(traversal[3:]), set([5, 8, 10]))
        self.assertEqual(len(traversal), 7)
コード例 #7
0
ファイル: 2_4.py プロジェクト: nkashy1/intprep
    def test_1(self):
        linked_list = SinglyLinkedList()
        values = [3, 5, 8, 5, 10, 2, 1]
        for value in values:
            linked_list.append(SinglyLinkedNode(value))

        partition(linked_list, 5)

        traversal = linked_list.traverse()
        self.assertEqual(set(traversal[:3]), set([1,2,3]))
        self.assertEqual(set(traversal[3:]), set([5, 8, 10]))
        self.assertEqual(len(traversal), 7)