示例#1
0
def test_intersection_tree():
    bt = BinaryTree()
    bt1 = BinaryTree()
    bt.root = Node(150)
    bt.root.left = Node(100)
    bt.root.right = Node(250)
    bt.root.left.left = Node(75)
    bt.root.left.right = Node(160)
    bt.root.right.left = Node(200)
    bt.root.right.right = Node(350)
    bt.root.left.right.left = Node(125)
    bt.root.left.right.right = Node(175)
    bt.root.right.right.left = Node(300)
    bt.root.right.right.right = Node(500)
    bt1.root = Node(42)
    bt1.root.left = Node(100)
    bt1.root.right = Node(600)
    bt1.root.left.left = Node(15)
    bt1.root.left.right = Node(160)
    bt1.root.right.left = Node(200)
    bt1.root.right.right = Node(350)
    bt1.root.left.right.left = Node(125)
    bt1.root.left.right.right = Node(175)
    bt1.root.right.right.left = Node(4)
    bt1.root.right.right.right = Node(500)
    actual = tree_intersection(bt, bt1)
    expected = [100, 160, 125, 175, 200, 350, 500]
    assert actual == expected
示例#2
0
def test_tree_intersection():
    tr1 = BinaryTree()
    tr2 = BinaryTree()
    assert tree_intersection(tr1, tr2) == []
    tr1.root = Node(5)
    assert tree_intersection(tr1, tr2) == []
    tr1.root.right = Node(10)
    tr1.root.left = Node(-2)
    tr1.root.right.left = Node(15)
    tr1.root.left.left = Node('string')
    tr2.root = Node(5)
    assert tree_intersection(tr1, tr2) == [5]
    tr2.root.right = Node(11)
    tr2.root.left = Node(-2)
    tr2.root.right.left = Node(15)
    tr2.root.left.left = Node('string')
    assert tree_intersection(tr1, tr2) == [5, -2, 'string', 15]
def test_test_with_string():
    tr1 = BinaryTree()
    tr2 = BinaryTree()
    tr1.root = Node(5)
    tr1.root.right = Node('omar')
    tr1.root.left = Node(-2)
    tr1.root.right.left = Node(15)
    tr1.root.left.left = Node(17)
    tr2.root = Node(5)
    tr2.root.right = Node(11)
    tr2.root.left = Node(-2)
    tr2.root.right.left = Node(15)
    tr2.root.left.left = Node('omar')
    assert tree_intersection(tr1, tr2) == [5, -2, 'omar', 15]
def test_test_three_common():
    tr1 = BinaryTree()
    tr2 = BinaryTree()
    tr1.root = Node(5)
    tr1.root.right = Node(10)
    tr1.root.left = Node(-2)
    tr1.root.right.left = Node(15)
    tr1.root.left.left = Node(17)
    tr2.root = Node(5)
    tr2.root.right = Node(11)
    tr2.root.left = Node(-2)
    tr2.root.right.left = Node(15)
    tr2.root.left.left = Node(111)
    assert tree_intersection(tr1, tr2) == [5, -2, 15]
示例#5
0
def test_intersection_tree2():
    bt = BinaryTree()
    bt1 = BinaryTree()
    bt.root = Node(0)
    bt.root.left = Node(5)
    bt.root.right = Node(10)
    bt.root.left.left = Node(15)
    bt.root.left.right = Node(20)
    bt1.root = Node(5)
    bt1.root.left = Node(15)
    bt1.root.right = Node(10)
    bt1.root.left.left = Node(20)
    bt1.root.left.right = Node(0)
    actual = tree_intersection(bt, bt1)
    expected = [10]
    assert actual == expected
示例#6
0
def test_intersection_tree1():
    bt = BinaryTree()
    bt1 = BinaryTree()
    bt.root = Node(0)
    bt.root.left = Node(5)
    bt.root.right = Node(10)
    bt.root.left.left = Node(15)
    bt.root.left.right = Node(20)
    bt1.root = Node(6)
    bt1.root.left = Node(12)
    bt1.root.right = Node(18)
    bt1.root.left.left = Node(24)
    bt1.root.left.right = Node(30)
    actual = tree_intersection(bt, bt1)
    expected = None
    assert actual == expected
def test_no_similar_leafs():
    tree5 = BinarySearchTree()
    tree5.add(4)
    tree5.add(6)
    tree5.add(7)
    tree5.add(5)
    tree5.add(3)
    tree5.add(3)
    tree5.add(2)
    tree6 = BinarySearchTree()
    tree6.add(6)
    tree6.add(5)
    tree6.add(1)
    tree6.add(45)
    tree6.add(10)
    tree6.add(16)
    tree6.add(5)
    assert tree_intersection(tree5, tree6) == None
def test_tow_same_tree():
    tree7 = BinarySearchTree()
    tree7.add(6)
    tree7.add(5)
    tree7.add(1)
    tree7.add(45)
    tree7.add(10)
    tree7.add(16)
    tree7.add(5)
    tree8 = BinarySearchTree()
    tree8.add(6)
    tree8.add(5)
    tree8.add(1)
    tree8.add(45)
    tree8.add(10)
    tree8.add(16)
    tree8.add(5)
    assert tree_intersection(tree7, tree8) == [6, 5, 45, 1, 5, 10, 16]
def test_same_tree_type():
    tree1 = BinaryTree()
    tree1.root = Node(5)
    tree1.root.right = Node(6)
    tree1.root.left = Node(4)
    tree1.root.right.right = Node(7)
    tree1.root.right.left = Node(5)
    tree1.root.left.left = Node(2)
    tree1.root.left.right = Node(4)
    tree2 = BinaryTree()
    tree2.root = Node(4)
    tree2.root.right = Node(6)
    tree2.root.right.right = Node(7)
    tree2.root.right.left = Node(5)
    tree2.root.left = Node(3)
    tree2.root.left.right = Node(3)
    tree2.root.left.left = Node(2)
    actual = tree_intersection(tree1, tree2)
    expected = [6, 2, 5, 7]
    assert actual == expected
def test_difrent_tree_type():
    tree3 = BinaryTree()
    tree3.root = Node(5)
    tree3.root.right = Node(6)
    tree3.root.left = Node(4)
    tree3.root.right.right = Node(7)
    tree3.root.right.left = Node(5)
    tree3.root.left.left = Node(2)
    tree3.root.left.right = Node(4)
    tree4 = BinarySearchTree()
    tree4.add(4)
    tree4.add(6)
    tree4.add(7)
    tree4.add(5)
    tree4.add(3)
    tree4.add(3)
    tree4.add(2)
    actual = tree_intersection(tree3, tree4)
    expected = [6, 2, 5, 7]
    assert actual == expected
def test_floats():
    tree1 = build([0.3, 5, -54, -3, 34])
    tree2 = build([-54, 95, 0.3, 123, 34])

    assert tree_intersection(tree1, tree2) == {0.3, -54, 34}
def test_intersection(fir_tree, sec_tree):

    actual=tree_intersection(fir_tree, sec_tree)
    
    assert actual == {2, 10, 6}
示例#13
0
def test_empty_trees():
    bt = BinaryTree()
    bt1 = BinaryTree()
    actual = tree_intersection(bt, bt1)
    expected = None
    assert actual == expected
def test_test_with_one_node():
    tr1 = BinaryTree()
    tr2 = BinaryTree()
    tr1.root = Node(5)
    assert tree_intersection(tr1, tr2) == []
def test_test_empty_tree():
    tr1 = BinaryTree()
    tr2 = BinaryTree()
    assert tree_intersection(tr1, tr2) == []
def test_simply_tree_case(my_tree, my_tree2):
    tree1 = my_tree
    tree2 = my_tree2
    assert tree_intersection(tree1, tree2) == {10, 9, 8, 5}
def test_same_values():
    tree1 = build([10, 10, 10, 8])
    tree2 = build([10, 10, 10, 10, 10])
    assert tree_intersection(tree1, tree2) == {10}
def test_2nd_tree_is_empty():
    tree1 = build([3, 3, 4, 5])
    tree2 = build([])
    assert tree_intersection(tree1, tree2) == None
def test_happy_path(tree1, tree2):
    actual = tree_intersection(tree1, tree2)
    expect = {100, 160, 125, 175, 200, 350, 500}
    assert actual == expect
def test_no_match(my_tree):
    tree1 = my_tree
    values = [100, 100, 100, 100]
    tree2 = build(values)
    assert tree_intersection(tree1, tree2) == None
def test_everything_match(my_tree):
    tree1 = my_tree
    values = [7, 3, 2, 6, 9, 10, 1, 5, 8]
    tree2 = build(values)

    assert tree_intersection(tree1, tree2) == {7, 3, 2, 6, 9, 10, 1, 5, 8}
def test_empty_tree():
    tree1 = build([])
    tree2 = build([3, 4])
    assert tree_intersection(tree1, tree2) == None
def test_empty_tree():
    bt = BinaryTree()
    bt1 = BinaryTree()
    actual = tree_intersection(bt, bt1)
    expect = 'tree is empty'
    assert actual == expect