예제 #1
0
    def test_find(self):

        # Arrange
        tree = BinaryTree()

        for i in range(10):
            tree.insert(i)

        # Act

        # Assert

        for i in range(10):
            self.assertEqual(i, tree.get(i))
예제 #2
0
    def testBinaryTree(self):
        tree = BinaryTree()
        self.assertTrue(tree.isEmpty())

        tree.insert(3)
        self.assertFalse(tree.isEmpty())
        self.assertEqual(3, tree.find(3))

        tree.insert(5)
        tree.insert(9)
        tree.insert(2)
        tree.insert(20)
        self.assertEqual(5, tree.find(5))
        self.assertEqual(2, tree.findMin())
        self.assertEqual(20, tree.findMax())
        self.assertEqual(2, tree.find(2))

        self.assertEqual([3, 2, 5, 9, 20], tree.traversePreorder())
        self.assertEqual([2, 3, 5, 9, 20], tree.traverseInorder())
        self.assertEqual([2, 20, 9, 5, 3], tree.traversePostorder())

        tree.clear()
        self.assertTrue(tree.isEmpty())
예제 #3
0
    def testBinaryTree(self):
        tree = BinaryTree()
        self.assertTrue(tree.isEmpty())

        tree.insert(3)
        self.assertFalse(tree.isEmpty())
        self.assertEqual(3, tree.find(3))

        tree.insert(5)
        tree.insert(9)
        tree.insert(2)
        tree.insert(20)
        self.assertEqual(5, tree.find(5))
        self.assertEqual(2, tree.findMin())
        self.assertEqual(20, tree.findMax())
        self.assertEqual(2, tree.find(2))

        self.assertEqual([3, 2, 5, 9, 20], tree.traversePreorder())
        self.assertEqual([2, 3, 5, 9, 20], tree.traverseInorder())
        self.assertEqual([2, 20, 9, 5, 3], tree.traversePostorder())

        tree.clear()
        self.assertTrue(tree.isEmpty())
예제 #4
0
 def prepare_tree1(self):
     b = BinaryTree()
     b.insert(8)
     b.insert(10)
     b.insert(3)
     b.insert(1)
     b.insert(6)
     b.insert(4)
     b.insert(7)
     b.insert(14)
     b.insert(13)
     return b
예제 #5
0
    def testBinaryTreeRemove(self):
        tree = BinaryTree()
        tree.insert(10)
        tree.insert(8)
        tree.insert(15)
        tree.insert(6)
        tree.insert(9)
        tree.insert(13)
        tree.insert(25)
        tree.insert(12)
        tree.insert(14)
        tree.insert(20)
        tree.insert(39)

        tree.remove(60)
        tree.remove(0)
        tree.remove(6)
        tree.remove(8)
        self.assertEqual(None, tree.find(6))
        self.assertEqual(None, tree.find(8))
        self.assertEqual([10, 9, 15, 13, 12, 14, 25, 20, 39],
                         tree.traversePreorder())
예제 #6
0
 def prepare_tree1(self):
     b = BinaryTree()
     b.insert(8)
     b.insert(10)
     b.insert(3)
     b.insert(1)
     b.insert(6)
     b.insert(4)
     b.insert(7)
     b.insert(14)
     b.insert(13)
     return b
예제 #7
0
    def testBinaryTreeRemove(self):
        tree = BinaryTree()
        tree.insert(10)
        tree.insert(8)
        tree.insert(15)
        tree.insert(6)
        tree.insert(9)
        tree.insert(13)
        tree.insert(25)
        tree.insert(12)
        tree.insert(14)
        tree.insert(20)
        tree.insert(39)

        tree.remove(60)
        tree.remove(0)
        tree.remove(6)
        tree.remove(8)
        self.assertEqual(None, tree.find(6))
        self.assertEqual(None, tree.find(8))
        self.assertEqual([10, 9, 15, 13, 12, 14, 25, 20, 39], tree.traversePreorder())