def test_pre_order_more():
    tree = BinarySearchTree()
    tree.add(20)
    tree.add(5)
    tree.add(10)
    tree.add(15)
    tree.add(25)
    tree.add(35)
    tree.add(40)
    tree.add(23)
    tree.add(45)


    # assert tree._root.value == 5
    # assert not tree._root.left
    # assert tree._root.right.value == 10
    # assert not tree._root.right.left
    # assert tree._root.right.right.value == 15
    # assert not tree._root.right.right.left
    # assert tree._root.right.right.right.value == 20
    # assert not tree._root.right.right.right.left

    expected = [20, 5, 10, 15, 25, 23, 35, 40, 45]
    actual = tree.pre_order()
    assert actual == expected
def test_pre_order_three():
    tree = BinarySearchTree()
    tree.add(5)
    tree.add(3)
    tree.add(15)
    expected = [5, 3, 15]
    actual = tree.pre_order()
    assert actual == expected