def test_special_binary_tree_isnot(): # 5 # 4 4 # 3 3 # 6 2 # 9 9 tree = BinaryTreeNode(5) connect_binarytree_nodes(tree, BinaryTreeNode(4), BinaryTreeNode(4)) connect_binarytree_nodes(tree.left, BinaryTreeNode(3), None) connect_binarytree_nodes(tree.right, None, BinaryTreeNode(3)) connect_binarytree_nodes(tree.left.left, BinaryTreeNode(6), None) connect_binarytree_nodes(tree.right.right, None, BinaryTreeNode(2)) connect_binarytree_nodes(tree.left.left.left, BinaryTreeNode(9), None) connect_binarytree_nodes(tree.right.right.right, None, BinaryTreeNode(9)) assert is_symmetrical_recursion(tree) == False assert is_symmetrical(tree) == False
def test_special_not_symmetrical_binary_tree_all_nodes_same_isnot(): # 5 # 5 5 # 5 5 # 5 5 # 5 5 tree = BinaryTreeNode(5) connect_binarytree_nodes(tree, BinaryTreeNode(5), BinaryTreeNode(5)) connect_binarytree_nodes(tree.left, BinaryTreeNode(5), None) connect_binarytree_nodes(tree.right, None, BinaryTreeNode(5)) connect_binarytree_nodes(tree.left.left, BinaryTreeNode(5), None) connect_binarytree_nodes(tree.right.right, None, BinaryTreeNode(5)) connect_binarytree_nodes(tree.left.left.left, BinaryTreeNode(5), None) connect_binarytree_nodes(tree.right.right.right, BinaryTreeNode(5), None) assert is_symmetrical_recursion(tree) == False assert is_symmetrical(tree) == False
def test_full_binary_tree_is(): # 8 # 6 6 # 5 7 7 5 tree = BinaryTreeNode(8) connect_binarytree_nodes(tree, BinaryTreeNode(6), BinaryTreeNode(6)) connect_binarytree_nodes(tree.left, BinaryTreeNode(5), BinaryTreeNode(7)) connect_binarytree_nodes(tree.right, BinaryTreeNode(7), BinaryTreeNode(5)) assert is_symmetrical_recursion(tree) == True assert is_symmetrical(tree) == True
def test_not_full_binary_tree_all_nodes_same_isnot(): # 7 # 7 7 # 7 7 7 tree = BinaryTreeNode(7) connect_binarytree_nodes(tree, BinaryTreeNode(7), BinaryTreeNode(7)) connect_binarytree_nodes(tree.left, BinaryTreeNode(7), BinaryTreeNode(7)) connect_binarytree_nodes(tree.right, BinaryTreeNode(7), None) assert is_symmetrical_recursion(tree) == False assert is_symmetrical(tree) == False
def test_one_node(): tree = BinaryTreeNode(5) assert is_symmetrical_recursion(tree) == True assert is_symmetrical(tree) == True