예제 #1
0
def test_different_types():
    tree_one = BinaryTree(
        BinaryNode(5, BinaryNode('match', BinaryNode(1)), BinaryNode(3)))
    tree_two = BinaryTree(
        BinaryNode(9, BinaryNode(8, BinaryNode(1)), BinaryNode('match')))

    actual = tree_intersection(tree_one, tree_two)
    expected = ['match', 1]
    assert actual == expected
예제 #2
0
def test_intersection_returns():
    tree_one = BinaryTree(
        BinaryNode(5, BinaryNode(4, BinaryNode(1)), BinaryNode(3)))
    tree_two = BinaryTree(
        BinaryNode(2, BinaryNode(4, BinaryNode(1)), BinaryNode(6)))

    actual = tree_intersection(tree_one, tree_two)
    expected = [4, 1]

    assert actual == expected
예제 #3
0
def test_no_intersections():
    tree_one = BinaryTree(
        BinaryNode(5, BinaryNode(4, BinaryNode(1)), BinaryNode(3)))
    tree_two = BinaryTree(
        BinaryNode(9, BinaryNode(8, BinaryNode(7)), BinaryNode(6)))

    actual = tree_intersection(tree_one, tree_two)
    expected = []

    assert actual == expected
예제 #4
0
def tree_b():
    test_tree = BinaryTree()
    test_tree.root = Node(8)
    test_tree.root.left = Node(13)
    test_tree.root.left.left = Node(12)
    test_tree.root.left.right = Node(30)
    test_tree.root.right = Node(5)
    test_tree.root.right.left = Node(50)
    test_tree.root.right.right = Node(7)
    test_tree.root.right.left.left = Node(11)
    return test_tree
예제 #5
0
def tree_c():
    test_tree = BinaryTree()
    test_tree.root = Node(-10)
    test_tree.root.left = Node(-13)
    test_tree.root.left.left = Node(-5)
    test_tree.root.left.left.left = Node(-20)
    test_tree.root.left.left.right = Node(-11)
    test_tree.root.left.right = Node(-6)
    test_tree.root.left.right.left = Node(-8)
    test_tree.root.right = Node(-30)
    test_tree.root.right.left = Node(-95)
    test_tree.root.right.right = Node(-1)
    return test_tree
예제 #6
0
def tree_a():
    test_tree = BinaryTree()
    test_tree.root = Node(10)
    test_tree.root.left = Node(13)
    test_tree.root.left.left = Node(5)
    test_tree.root.left.left.left = Node(20)
    test_tree.root.left.left.right = Node(11)
    test_tree.root.left.right = Node(6)
    test_tree.root.left.right.left = Node(8)
    test_tree.root.right = Node(30)
    test_tree.root.right.left = Node(95)
    test_tree.root.right.right = Node(0)
    return test_tree
예제 #7
0
def tree_c():
    test_tree = BinaryTree()
    test_tree.root = Node(15)
    test_tree.root.left = Node(10)
    test_tree.root.left.left = Node(7)
    test_tree.root.left.right = Node(16)
    test_tree.root.left.right.left = Node(12)
    test_tree.root.left.right.right = Node(17)
    test_tree.root.right = Node(25)
    test_tree.root.right.left = Node(20)
    test_tree.root.right.right = Node(35)
    test_tree.root.right.right.left = Node(30)
    test_tree.root.right.right.right = Node(50)
    return test_tree
예제 #8
0
def tree_b():
    test_tree = BinaryTree()
    test_tree.root = Node(150)
    test_tree.root.left = Node(101)
    test_tree.root.left.left = Node(75)
    test_tree.root.left.right = Node(161)
    test_tree.root.left.right.left = Node(125)
    test_tree.root.left.right.right = Node(176)
    test_tree.root.right = Node(250)
    test_tree.root.right.left = Node(201)
    test_tree.root.right.right = Node(350)
    test_tree.root.right.right.left = Node(301)
    test_tree.root.right.right.right = Node(500)
    return test_tree
예제 #9
0
def tree_a():
    test_tree = BinaryTree()
    test_tree.root = Node(150)
    test_tree.root.left = Node(100)
    test_tree.root.left.left = Node(75)
    test_tree.root.left.right = Node(160)
    test_tree.root.left.right.left = Node(125)
    test_tree.root.left.right.right = Node(175)
    test_tree.root.right = Node(250)
    test_tree.root.right.left = Node(200)
    test_tree.root.right.right = Node(350)
    test_tree.root.right.right.left = Node(300)
    test_tree.root.right.right.right = Node(500)
    return test_tree
예제 #10
0
def test_tree_intersection_empty_array(tree_a):
    empty_tree = BinaryTree()
    assert tree_intersection(tree_a, empty_tree) == ['No matches found :-(']