package tests.antlrParsers.functionParser; import static org.junit.Assert.assertTrue; import org.antlr.v4.runtime.tree.ParseTree; import org.junit.Test; import parsing.FunctionParser; public class ForLoopTests extends FunctionParserTestBase { @Test public void testEmptyFor() { String input = "for(; ;){}"; FunctionParser functionParser = createFunctionParser(); ParseTree tree = functionParser.parseString(input); String output = tree.toStringTree(functionParser.getAntlrParser()); System.out.println(output); assertTrue(output.contains("selection_or_iteration")); } @Test public void testDeclInFor() { String input = "for(int k = 0; k < 10; k++ ){}"; FunctionParser functionParser = createFunctionParser(); ParseTree tree = functionParser.parseString(input); String output = tree.toStringTree(functionParser.getAntlrParser()); System.out.println(output); assertTrue(output .contains("for ( (for_init_statement (simple_decl (var_decl (type_name (base_type int))")); } @Test public void testComplexFor() { String input = "for(int k = 0; k < 10; ( k += ((c = text[k]) >= sBMHCharSetSize) ? patlen : skip[c]) ){}"; FunctionParser functionParser = createFunctionParser(); ParseTree tree = functionParser.parseString(input); String output = tree.toStringTree(functionParser.getAntlrParser()); System.out.println(output); assertTrue(output.contains("assign_expr")); } }