def _assert_parser_result_from_token_stream( token_stream, expected_ast, expected_parsed ): tokens_list = [token for token in token_stream] tokens = Iterable2TokenStream( tokens_list ) parser = PepperParser.Parser( tokens ) parser.program() actual_ast = "\n" ast = parser.getAST() while ast is not None: actual_ast += _ast_to_string( ast ) ast = ast.getNextSibling() assert_multiline_equal( expected_ast, actual_ast ) tokens = Iterable2TokenStream( tokens_list ) actual_parsed = "\n".join( repr( s ) for s in PepperStatements( tokens ) ) actual_parsed += "\n" # TODO: format actual nicely, instead of expected nastily assert_multiline_equal( _unprettify( expected_parsed ).strip(), actual_parsed.strip() )