def test_construct_from_in_and_post_orders_empty(): inorder = [] postorder = [] actual = BinaryTreeNode.construct_from_in_and_post_orders( inorder, postorder) assert actual == None
def test_construct_from_list(): # arrange # e.g. # 4 # 7 3 # 1 input = [4, 7, 3, None, None, 1] sut = BinaryTreeNode.construct_from_list(input) # act / assert assert sut.traverse_level_order() == [4, 7, 3, 1]
def test_univalue_path_2(): # 1 # / \ # 4 5 # / \ \ # 4 4 5 sut = BinaryTreeNode(1) sut.left = BinaryTreeNode(4) sut.right = BinaryTreeNode(5) sut.left.left = BinaryTreeNode(4) sut.left.right = BinaryTreeNode(4) sut.right.right = BinaryTreeNode(5) # act actual = solution.longest_univalue_path(sut) # assert assert actual == 2
def test_construct_from_list_complex(): # arrange input = [ 4, -7, -3, None, None, -9, -3, 9, -7, -4, None, 6, None, -6, -6, None, None, 0, 6, 5, None, 9, None, None, -1, -4, None, None, None, -2 ] # act sut = BinaryTreeNode.construct_from_list(input) actual = sut.traverse_level_order() # assert expected = list(filter(lambda x: x is not None, input)) assert actual == expected
def test_construct_from_in_and_post_orders(in_order, post_order): actual = BinaryTreeNode.construct_from_in_and_post_orders( in_order, post_order.copy()) assert actual.traverse_post_order() == post_order
from src.data_structures.binary_tree import BinaryTreeNode import pytest # arrange # 1 # 2 3 # 4 5 sut = BinaryTreeNode(1) sut.left = BinaryTreeNode(2) sut.left.left = BinaryTreeNode(4) sut.right = BinaryTreeNode(3) sut.right.right = BinaryTreeNode(5) def test_traverse_in_order(): assert sut.traverse_in_order() == [4, 2, 1, 3, 5] def test_traverse_pre_order(): assert sut.traverse_pre_order() == [1, 2, 4, 3, 5] def test_traverse_post_order(): assert sut.traverse_post_order() == [4, 2, 5, 3, 1] def test_traverse_level_order(): assert sut.traverse_level_order() == [1, 2, 3, 4, 5] def _setup_traverse_func_test():
def __init__(self, data): BinaryTreeNode.__init__(self, first, last)
def test_isSameTree_multiple_nodes_same_values_different_structure_returns_false( self): self._assert_isSameTree( False, TreeNode.from_list([1, 2, 3, None, 4, 5, None, None, 6]), TreeNode.from_list([1, 2, 3, 4, 5, 6]))
def test_isSameTree_multiple_nodes_same_values_same_structure_returns_true( self): self._assert_isSameTree( True, TreeNode.from_list([1, 2, 3, None, 4, 5, None, None, 6]), TreeNode.from_list([1, 2, 3, None, 4, 5, None, None, 6]))