def test_breadth_on_big_left_branch(): tree = BinaryTree() tree.add(1) tree.root.left = Node(2) tree.root.left.left = Node(3) tree.root.left.left.left = Node(4) tree.root.left.left.left.left = Node(5) assert tree.breadth_traverse() == [1, 2, 3, 4, 5]
def test_breadth_balanced_negative_tree(): tree = BinaryTree() tree.add(-1) tree.root.left = Node(-2) tree.root.left.left = Node(-4) tree.root.left.right = Node(-5) tree.root.right = Node(-3) tree.root.right.left = Node(-6) tree.root.right.right = Node(-7) assert tree.breadth_traverse() == [-1, -2, -3, -4, -5, -6, -7]
def test_breadth_balanced_tree(): tree = BinaryTree() tree.add(1) tree.root.left = Node(2) tree.root.left.left = Node(4) tree.root.left.right = Node(5) tree.root.right = Node(3) tree.root.right.left = Node(6) tree.root.right.right = Node(7) assert tree.breadth_traverse() == [1, 2, 3, 4, 5, 6, 7]
def test_all_negatives(): tree = BinaryTree() tree.add(-3) tree.add(-4) tree.add(-11) tree.add(-5) tree.add(-9) assert tree.find_maximum_value() == -3
def test_max(): tree = BinaryTree() tree.add(3) tree.add(4) tree.add(11) tree.add(5) tree.add(9) assert tree.find_maximum_value() == 11
def test_binary_tree_add_twice(): tree = BinaryTree(4) tree.add(2) tree.add(3) assert tree.root.right.value == 3
def test_binary_tree_add_once(): tree = BinaryTree(4) tree.add(3) assert tree.root.left.value == 3
def test_breadth_on_small_tree(): tree = BinaryTree() tree.add(1) tree.add(2) tree.add(3) assert tree.breadth_traverse() == [1, 2, 3]