def test_tree_node_nested(patch): patch.object(Tree, "walk") tree = Tree("rule", []) result = tree.node("inner.nested") assert len(Tree.walk.call_args_list) == 2 assert Tree.walk.call_args_list[0] == call(tree, "inner") assert Tree.walk.call_args_list[1] == call(Tree.walk(), "nested") assert result == Tree.walk()
def test_tree_walk_token(): """ Ensures that encountered tokens are skipped """ inner_tree = Tree("inner", []) tree = Tree("rule", [Token("test", "test"), inner_tree]) result = Tree.walk(tree, "inner") assert result == inner_tree
def test_tree_node(patch): patch.object(Tree, "walk") tree = Tree("rule", []) result = tree.node("inner") Tree.walk.assert_called_with(tree, "inner") assert result == Tree.walk()
def test_tree_walk(): inner_tree = Tree("inner", []) tree = Tree("rule", [inner_tree]) result = Tree.walk(tree, "inner") assert result == inner_tree