def test_binary_search(self):
     root = Node(50)
     root.insert(13)
     root.insert(21)
     root.insert(27)
     root.insert(76)
     root.insert(2)
     root.insert(44)
     root.insert(51)
     root.insert(6)
     root.insert(9)
     root.insert(11)
     node = root.binary_search(10)
     self.assertIsNone(node)
 def test_sum_tree(self):
     root = Node(50)
     root.insert(13)
     root.insert(21)
     root.insert(27)
     root.insert(76)
     root.insert(2)
     root.insert(44)
     root.insert(51)
     root.insert(6)
     root.insert(9)
     root.insert(11)
     rootb, value = root.get_sum_tree()
     self.assertEqual(rootb.str_in_order(), '262011012071440260051')
 def test_fast_lca(self):
     root = Node(50)
     root.insert(13)
     root.insert(21)
     root.insert(27)
     root.insert(76)
     root.insert(2)
     root.insert(44)
     root.insert(51)
     root.insert(6)
     root.insert(9)
     root.insert(11)
     node = root.fast_lca(11, 44)
     self.assertEqual(node.data, 13)
 def test_distance(self):
     root = Node(50)
     root.insert(13)
     root.insert(21)
     root.insert(27)
     root.insert(76)
     root.insert(2)
     root.insert(44)
     root.insert(51)
     root.insert(6)
     root.insert(9)
     root.insert(11)
     distance = root.distance(11, 44)
     self.assertEqual(distance, 7)
 def test_insert(self):
     root = Node(50)
     root.insert(13)
     root.insert(21)
     root.insert(27)
     root.insert(76)
     root.insert(2)
     root.insert(44)
     root.insert(51)
     root.insert(6)
     root.insert(9)
     root.insert(11)
     self.assertEqual('2691113212744505176', root.str_in_order())