Beispiel #1
0
def test_1(Tree):
    node1 = TNode(1)
    binary_tree = BinaryTree(node1)
    list = binary_tree.breadth_first_traversal()
    actual = list.__str__()
    expected = '1-'
    assert actual == expected
Beispiel #2
0
def test_add_right_and_left():
    tree = BinaryTree()
    tree.root = Node(10)
    tree.root.left = Node(3)
    tree.root.right = Node(15)
    actual = f"{tree.root.value}, {tree.root.left.value}, {tree.root.right.value}"
    expected = "10, 3, 15"
    assert actual == expected
def test_add_left_and_right():
    tree = BinaryTree()
    tree.root = Node(111)
    tree.left = Node(11)
    tree.right = Node(1)
    actual = f"{tree.root.value}, {tree.left.value}, {tree.right.value}"
    expected = "111, 11, 1"
    assert actual == expected
def test_can_successfully_add_a_left_child_and_right_child_to_a_single_root_node():
    new_tree = BinaryTree()
    new_tree.root = Node(1)
    new_tree.root.left = Node(2)
    new_tree.root.right = Node(3)    
    expected = [1, 2, 3]
    actual = new_tree.preOrder()
    assert expected == actual
Beispiel #5
0
def test_tree_add_children_to_single_root():
    expected = [2, 5, 6]
    node = Node(5)
    node.left = Node(2)
    node.right = Node(6)
    btt = BinaryTree(node)
    actual = btt.inOrder()
    assert actual == expected
def test_3():
    node1 = TNode(1)
    binary_tree = BinaryTree(node1)

    maximum = binary_tree.find_maximum_value()

    actual = maximum
    expected = 1
    assert actual == expected
def test_tree_inorder():
    tree = BinaryTree()
    tree.root = Node(1)
    tree.root.left = Node(11)
    tree.root.right = Node(2)
    tree.root.left.left = Node(111)
    tree.root.right.right = Node(22)
    actual = tree.in_order()
    expected = [111, 11, 1, 2, 22]
    assert actual == expected
def test_tree_preorder():
    tree = BinaryTree()
    tree.root = Node(1)
    tree.root.left = Node(11)
    tree.root.right = Node(111)
    tree.root.left.left = Node(1111)
    tree.root.left.right = Node(11111)
    actual = tree.pre_order()
    expected = [1, 11, 1111, 11111, 111]
    assert actual == expected
Beispiel #9
0
def test_postorder():
    tree = BinaryTree()
    tree.root = Node(50)
    tree.root.left = Node(30)
    tree.root.right = Node(70)
    tree.root.left.left = Node(20)
    tree.root.left.right = Node(40)
    actual = tree.post_order()
    expected = [20, 40, 30, 70, 50]
    assert actual == expected
def test_1():
    node1 = TNode(1)
    node1.left = TNode(2)
    node1.right = TNode(3)
    binary_tree = BinaryTree(node1)

    maximum = binary_tree.find_maximum_value()
    actual = maximum
    expected = 3
    assert actual == expected
def test_tree_postorder():
    tree = BinaryTree()
    tree.root = Node(1)
    tree.root.left = Node(11)
    tree.root.right = Node(2)
    tree.root.left.left = Node(111)
    tree.root.left.right = Node(112)
    actual = tree.post_order()
    expected = [111, 112, 11, 2, 1]
    assert actual == expected
Beispiel #12
0
def binary_tree3():
    tree3 = BinaryTree()
    tree3.root = Node(2)
    tree3.root.left = Node(18)
    tree3.root.right = Node(6)
    tree3.root.left.right = Node(8)
    tree3.root.left.right.left = Node(20)
    tree3.root.left.right.right = Node(12)
    tree3.root.right.right = Node(14)
    tree3.root.right.right.left = Node(16)
    return tree3
Beispiel #13
0
def binary_tree():
    tree = BinaryTree()
    tree.root = Node(1)
    tree.root.left = Node(5)
    tree.root.right = Node(10)
    tree.root.left.right = Node(25)
    tree.root.left.right.left = Node(13)
    tree.root.left.right.right = Node(15)
    tree.root.right.right = Node(9)
    tree.root.right.right.left = Node(4)
    return tree
def test_can_successfully_return_a_collection_from_a_postorder_traversal():
    new_tree = BinaryTree()
    new_tree.root = Node("A")
    new_tree.root.left = Node("B")
    new_tree.root.right = Node("C")
    new_tree.root.right.left = Node("F") 
    new_tree.root.left.left = Node("D")       
    new_tree.root.left.right = Node("E")       
    expected = ["D", "E", "B", "F", "C", "A"]
    actual = new_tree.postOrder()
    assert expected == actual
def test_find_max_value():
  reg_tree = BinaryTree()
  reg_tree.add(1)
  reg_tree.add(2)
  reg_tree.add(5)
  reg_tree.add(3)
  reg_tree.add(6)
  assert reg_tree.max_value() == 6
def test_breadth_first():
  reg_tree = BinaryTree()
  reg_tree.add(1)
  reg_tree.add(2)
  reg_tree.add(5)
  reg_tree.add(3)
  reg_tree.add(6)
  assert BinaryTree.breadth_first(reg_tree) == [1,2,5,3,6]
Beispiel #17
0
def binary_tree2():
    tree2= BinaryTree()
    tree2.root = Node(1)
    tree2.root.left = Node(15)
    tree2.root.right = Node(12)
    tree2.root.left.right = Node(23)
    tree2.root.left.right.left = Node(3)
    tree2.root.left.right.right = Node(55)
    tree2.root.right.right = Node(19)
    tree2.root.right.right.left = Node(34)

    return tree2
def test_instantiate_tree():
    tree = BinaryTree()
    tree.root = Node(2)
    tree.root.left = Node(7)
    tree.root.left.left = Node(2)
    tree.root.left.right = Node(6)
    tree.root.left.right.left = Node(5)
    tree.root.left.right.right = Node(11)
    tree.root.right = Node(5)
    tree.root.right.right = Node(9)
    tree.root.right.right.left = Node(4)
    actual = tree.find_maximum_value()
    expected = 11
    assert actual == expected
def test_6 ():
    node1 = TNode(1)
    node1.left = TNode(2)
    node1.right = TNode(3)
    node1.right.left = TNode(5)
    node1.right.right = TNode(4)
    node1.left.right = TNode(6)
    node1.left.left = TNode(7)
    binary_tree = BinaryTree(node1)


    actual = binary_tree.postOrder().__str__()
    expected = '-> 1 -> 3 -> 4 -> 5 -> 2 -> 6 -> 7 -> None'
    assert actual == expected
def test_add_regular_binary_tree():
  reg_tree = BinaryTree()
  reg_tree.add(1)
  reg_tree.add(2)
  reg_tree.add(5)
  reg_tree.add(3)
  reg_tree.add(6)
  assert (reg_tree.root.value == 1) and (reg_tree.root.left.value == 2) and (reg_tree.root.right.value == 5) and (reg_tree.root.left.right.value == 6)
Beispiel #21
0
def test_find_max_value_within_tree():
    test_node = Node(1)
    test_node.left = Node(2)
    test_node.right = Node(3)
    test_node.left.left = Node(4)
    test_node.left.right = Node(5)
    test_node.right.left = Node(6)
    test_node.right.right = Node(7)

    test_tree = BinaryTree(test_node)

    expected = 7
    actual = test_tree.find_maximum_value()

    assert actual == expected
def test_2():
    node1 = TNode(1)
    node1.left = TNode(2)
    node1.right = TNode(3)
    node1.right.left = TNode(5)
    node1.right.right = TNode(4)
    node1.left.right = TNode(88)
    node1.left.left = TNode(7)
    binary_tree = BinaryTree(node1)

    maximum = binary_tree.find_maximum_value()

    actual = maximum
    expected = 88
    assert actual == expected
def test_dupes_tree2():
    tree2 = BinaryTree()

    #tree2
    tree2.root = Node(1)
    #left
    tree2.root.left = Node(3)
    tree2.root.left.left = Node(15)
    tree2.root.left.right = Node(12)
    tree2.root.left.right.left = Node(15)
    # right
    tree2.root.right = Node(20)
    tree2.root.right.left = Node(23)
    tree2.root.right.right = Node(11)
    tree2.root.right.right.left = Node(2)
    tree2.root.right.right.right = Node(12)
    return tree2
def test_dupes_tree1():
    tree1 = BinaryTree()

    #tree1
    tree1.root = Node(1)
    #left
    tree1.root.left = Node(1)
    tree1.root.left.left = Node(5)
    tree1.root.left.right = Node(10)
    tree1.root.left.right.left = Node(5)
    # right
    tree1.root.right = Node(20)
    tree1.root.right.left = Node(2)
    tree1.root.right.right = Node(14)
    tree1.root.right.right.left = Node(2)
    tree1.root.right.right.right = Node(100)
    return tree1
Beispiel #25
0
def test_breadth_first():

    test_node = Node(1)
    test_node.left = Node(2)
    test_node.right = Node(3)
    test_node.left.left = Node(4)
    test_node.left.right = Node(5)
    test_node.right.left = Node(6)
    test_node.right.right = Node(7)

    test_tree = BinaryTree(test_node)

    actual = test_tree.breadth_first()

    expected = [1, 2, 3, 4, 5, 6, 7]

    assert actual == expected
def test_build_tree2():
    tree2 = BinaryTree()

    #tree2
    tree2.root = Node(42)
    #left
    tree2.root.left = Node(100)
    tree2.root.left.left = Node(15)
    tree2.root.left.right = Node(160)
    tree2.root.left.right.left = Node(125)
    tree2.root.left.right.right = Node(175)
    # right
    tree2.root.right = Node(600)
    tree2.root.right.left = Node(200)
    tree2.root.right.right = Node(350)
    tree2.root.right.right.left = Node(4)
    tree2.root.right.right.right = Node(500)
    return tree2
def test_build_tree1():
    tree1 = BinaryTree()

    #tree1
    tree1.root = Node(150)
    #left
    tree1.root.left = Node(100)
    tree1.root.left.left = Node(75)
    tree1.root.left.right = Node(160)
    tree1.root.left.right.left = Node(125)
    tree1.root.left.right.right = Node(175)
    # right
    tree1.root.right = Node(250)
    tree1.root.right.left = Node(200)
    tree1.root.right.right = Node(350)
    tree1.root.right.right.left = Node(300)
    tree1.root.right.right.right = Node(500)
    return tree1
Beispiel #28
0
def tree_test():
    node1 = Node(1)
    node1.left = Node(2)
    node1.left.right = Node(7)
    node1.left.left = Node(9)
    node1.right = Node(3)
    node1.right.left = Node(4)
    node1.right.right = Node(5)
    binary_tree = BinaryTree(node1)
    return binary_tree
def test_2 ():
    node = TNode(1)
    binary_tree = BinaryTree(node)
    actual = binary_tree.root
    expected = node
    assert actual == expected

    actual = binary_tree.root.value
    expected = 1
    assert actual == expected
def test_3 ():
    node = TNode(1)
    node.left = TNode(2)
    node.right = TNode(3)
    binary_tree = BinaryTree(node)

    actual = binary_tree.root.left.value
    expected = 2
    assert actual == expected

    actual = binary_tree.root.right.value
    expected = 3
    assert actual == expected