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
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
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
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
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
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
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
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
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
def test_tree_intersection_empty_array(tree_a): empty_tree = BinaryTree() assert tree_intersection(tree_a, empty_tree) == ['No matches found :-(']