def test_serialize(values, expected): def stringify(v): """We convert node values into string for easier comparison after deserialization. """ if v is None: return v else: return str(v) root = build_binary_tree([stringify(v) for v in values]) actual = serialize(root) assert expected == actual actual = deserialize(serialize(root)) assert compare_binary_trees(root, actual) # @pytest.mark.parametrize("serialized, expected", [ # ("1 # #", [1]), # ]) # def test_deserialize(serialized, expected): # actual = deserialize(serialized) # assert compare_binary_trees(build_binary_tree(expected), actual)
def test(root, expected): actual = invert(build_binary_tree(root)) assert compare_binary_trees(build_binary_tree(expected), actual)
def test_create_balanced_bst(values, expected): actual = create_balanced_bst(values) assert compare_binary_trees(build_binary_tree(expected), actual)
def test_deepest(root, expected): actual = deepest(build_binary_tree(root)) assert expected == actual
def test_minimum_level_sum(values, expected): actual = minimum_level_sum(build_binary_tree(values)) assert expected == actual
def test_values_at_height(node_values, height, expected): root = build_binary_tree(node_values) actual = values_at_height(root, height) assert expected == actual
def test_is_bst(root, expected): actual = is_bst(build_binary_tree(root)) assert expected == actual