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_breadth_on_small_tree(): tree = BinaryTree() tree.add(1) tree.add(2) tree.add(3) assert tree.breadth_traverse() == [1, 2, 3]
def test_breadth_on_empty_tree(): tree = BinaryTree() with pytest.raises(Exception) as e: tree.breadth_traverse() assert str(e.value) == "tree is empty"