Ejemplo n.º 1
0
    def test_list_of_depths(self):
        values, expect = test_case
        tree = Tree.from_list_bfs(values)
        root = tree.root
        if not root:
            return 

        self.assertEqual(list_of_depths(root), expect)
Ejemplo n.º 2
0
    def test_lca(self):
        tree = Tree.from_list_bfs(tree_vals)
        root = tree.root

        assert root != None and root.left and root.right
        self.assertEqual(lca1(root, root.left, root.right), root)
        self.assertEqual(lca2(root, root.left, root.right), root)

        assert root != None and root.left.right and root.left.left
        self.assertEqual(lca1(root, root.left.right, root.left.left),
                         root.left)
        self.assertEqual(lca2(root, root.left.right, root.left.left),
                         root.left)
Ejemplo n.º 3
0
 def test_check_balanced(self):
     for tc in test_cases:
         tree_vals, expect = tc
         tree = Tree.from_list_bfs(tree_vals)
         self.assertEqual(check_balanced(tree.root), expect)
Ejemplo n.º 4
0
 def test_validate_bst(self):
     for tc in test_cases:
         tree_vals, expect = tc
         tree = Tree.from_list_bfs(tree_vals)
         self.assertEqual(validate_bst_inorder(tree.root), expect)
         self.assertEqual(validate_bst_min_max(tree.root), expect)