Example #1
0
def test_post_order_traversal():
    tree = BinaryTree()
    tree.root = Node(1)
    tree.root.left = Node(2)
    tree.root.right = Node(3)
    tree.root.left.left = Node(4)
    tree.root.left.right = Node(5)
    actual = tree.post_order()
    expected = [4, 5, 2, 3, 1]
    assert actual == expected
def test_postorder_traversal():
    tree = BinaryTree()
    node1 = Node(1)
    node2 = Node(3)
    node3 = Node(5)
    node1.left = node2
    node1.right = node3
    tree.root = node1
    actual = tree.post_order()
    expected = [3, 5, 1]
    assert actual == expected
def test_post_order():
    tree = BinaryTree()
    tree.root = Node(50)
    tree.root.left = Node(25)
    tree.root.right = Node(75)
    tree.root.left.left = Node(20)
    tree.root.right.right = Node(80)
    tree.root.left.right = Node(40)
    """
                50
            25      75
        20    40          80
    """
    actual = tree.post_order()
    expected = [20, 40, 25, 80, 75, 50]
    assert actual == expected
def test_post_order():
    grok = BinaryTree()
    groot = Node('Groot')
    i = Node('I')
    am = Node('Am')
    starlord = Node('Future Antman')
    rocket = Node('Trash Panda')
    grok.root = i
    grok.root.left = am
    grok.root.right = starlord
    grok.root.left.left = groot
    grok.root.left.right = rocket

    assert grok.post_order() == [
        'Groot', 'Trash Panda', 'Am', 'Future Antman', 'I'
    ]