implement a binary search tree in pythonSolutionusrbinenv py
implement a binary search tree in python.
Solution
#!/usr/bin/env python
import sys
 import unittest
from bst import Node, BST
class BstTest(unittest.TestCase):
 def __init__(self, *args, **kwargs):
 super(BstTest, self).__init__(*args, **kwargs)
 self.tree = BinarySearchTree()
 self.arr = [100, 20, 500, 30, 10]
for x in self.arr:
 self.tree.iterative_insert(x)
def test_search(self):
 self.assertTrue(self.tree.search(self.tree.get_root(), 20))
 self.assertFalse(self.tree.search(self.tree.get_root(), 12312))
def test_size(self):
 self.assertEqual(self.tree.size(self.tree.get_root()), 5)
def test_depth(self):
 self.assertEqual(self.tree.depth(self.tree.get_root()), 4)
def test_min(self):
 self.assertEqual(self.tree.min(self.tree.get_root()), 30)
def test_max(self):
 self.assertEqual(self.tree.max(self.tree.get_root()), 100)
def test_display(self):
 print \"Inorder Traversal of a BinaryST: \"
 self.tree.inorder(self.tree.get_root())
 print \"Preorder Traversal of a BinaryST: \"
 self.tree.preorder(self.tree.get_root())
 print \"Postorder Traversal of a BinaryST: \"
 self.tree.postorder(self.tree.get_root())
 if __name__ == \'__main__\':
 unittest.main()
 sys.exit(0)

