33
44import de .monticore .expressions .expressionsbasis ._ast .ASTExpression ;
55import de .monticore .java .javadsl .JavaDSLMill ;
6- import de .monticore .java .javadsl ._ast .ASTCompilationUnit ;
76import de .monticore .java .javadsl ._ast .ASTJavaBlock ;
87import de .monticore .java .javadsl ._ast .ASTTextBlockLiteral ;
98import de .monticore .java .javadsl ._parser .JavaDSLParser ;
109import de .monticore .literals .mcliteralsbasis ._ast .ASTLiteral ;
1110import org .junit .jupiter .api .Test ;
11+ import org .junit .jupiter .params .ParameterizedTest ;
12+ import org .junit .jupiter .params .provider .ValueSource ;
1213
1314import java .io .IOException ;
1415import java .io .StringReader ;
15- import java .nio .file .Path ;
16- import java .nio .file .Paths ;
1716import java .util .Optional ;
1817
1918import static de .monticore .java .JavaDSLAssertions .*;
2221
2322public class JavaDSLParserTest extends AbstractTest {
2423
25- @ Test
26- public void test1 () throws IOException {
27- Path model = Paths .get ("src/test/resources/de/monticore/java/parser/ASTClassDeclaration.java" );
28- JavaDSLParser parser = JavaDSLMill .parser ();
29- Optional <ASTCompilationUnit > ast = parser .parse (model .toString ());
30- assertFalse (parser .hasErrors ());
31- assertTrue (ast .isPresent ());
32- // AST2ModelFiles.get().serializeASTInstance(ast.get(), "ASTClassDeclaration");
33- }
34-
35- @ Test
36- public void test2 () throws IOException {
37- Path model = Paths .get ("src/test/resources/de/monticore/java/parser/ParseException.java" );
38- JavaDSLParser parser = JavaDSLMill .parser ();
39- Optional <ASTCompilationUnit > ast = parser .parse (model .toString ());
40- assertFalse (parser .hasErrors ());
41- assertTrue (ast .isPresent ());
42- // AST2ModelFiles.get().serializeASTInstance(ast.get(), "ParseException");
43- }
44-
45- @ Test
46- public void test3 () throws IOException {
47- Path model = Paths .get ("src/test/resources/de/monticore/java/parser/TokenMgrError.java" );
48- JavaDSLParser parser = JavaDSLMill .parser ();
49- Optional <ASTCompilationUnit > ast = parser .parse (model .toString ());
50- assertFalse (parser .hasErrors ());
51- assertTrue (ast .isPresent ());
52- //AST2ModelFiles.get().serializeASTInstance(ast.get(), "TokenMgrError");
24+ @ ParameterizedTest
25+ @ ValueSource (strings = {
26+ "src/test/resources/de/monticore/java/parser/ASTClassDeclaration.java" ,
27+ "src/test/resources/de/monticore/java/parser/ParseException.java" ,
28+ "src/test/resources/de/monticore/java/parser/TokenMgrError.java" ,
29+ "src/test/resources/parsableAndCompilableModels/simpleTestClasses/HelloWorld.java"
30+ })
31+ public void testParser (String path ) throws IOException {
32+ assertParsingSuccess (path );
5333 }
5434
5535 @ Test
56- public void test4 () throws IOException {
57- StringBuffer buffer = new StringBuffer ("" );
36+ public void testJavaBlock () throws IOException {
37+ StringBuffer buffer = new StringBuffer ();
5838 buffer .append ("{ _channel = HIDDEN;" );
5939 buffer .append ("if (getCompiler() != null) {" );
6040 buffer .append (" de.monticore.ast.Comment _comment = new de.monticore.ast.Comment(getText());" );
@@ -69,51 +49,52 @@ public void test4() throws IOException {
6949 assertFalse (parser .hasErrors ());
7050 assertTrue (ast .isPresent ());
7151 }
72-
73- @ Test
74- public void test5 () throws IOException {
75- Path model = Paths
76- .get ("src/test/resources/parsableAndCompilableModels/simpleTestClasses/HelloWorld.java" );
77- JavaDSLParser parser = JavaDSLMill .parser ();
78- Optional <ASTCompilationUnit > ast = parser .parse (model .toString ());
79- assertFalse (parser .hasErrors ());
80- assertTrue (ast .isPresent ());
81- // AST2ModelFiles.get().serializeASTInstance(ast.get(), "ASTClassDeclaration");
82- }
83-
84- @ Test
85- public void testCondition () throws IOException {
52+
53+ @ ParameterizedTest
54+ @ ValueSource (strings = {
55+ "ch = str.charAt(i) < 0x20"
56+ })
57+ public void testCondition (String input ) throws IOException {
8658 JavaDSLParser parser = JavaDSLMill .parser ();
87- Optional <ASTExpression > ast = parser .parse_StringExpression ("ch = str.charAt(i) < 0x20" );
59+ Optional <ASTExpression > ast = parser .parse_StringExpression (input );
8860 assertTrue (ast .isPresent ());
8961 }
90-
91- @ Test
92- public void testLambdas () throws IOException {
62+
63+ @ ParameterizedTest
64+ @ ValueSource (strings = {
65+ "foo -> foo" ,
66+ "(foo, bar) -> foo" ,
67+ "(foo, bar) -> { return foo; }"
68+ })
69+ public void testLambdas (String input ) throws IOException {
9370 JavaDSLParser parser = JavaDSLMill .parser ();
94- assertTrue (parser .parse_StringExpression ("foo -> foo" ).isPresent ());
95- assertTrue (parser .parse_StringExpression ("(foo, bar) -> foo" ).isPresent ());
96- assertTrue (parser .parse_StringExpression ("(foo, bar) -> { return foo; }" ).isPresent ());
71+ assertTrue (parser .parse_StringExpression (input ).isPresent ());
9772 }
9873
99- @ Test
100- public void testMethodReferences () throws IOException {
74+ @ ParameterizedTest
75+ @ ValueSource (strings = {
76+ "String::length" ,
77+ "System::currentTimeMillis" ,
78+ "List<String>::size" ,
79+ "int[]::clone" ,
80+ "System.out::println" ,
81+ "\" abc\" ::length" ,
82+ "foo[x]::bar" ,
83+ "(test ? list.replaceAll(String::trim) : list) :: iterator" ,
84+ "super::toString" ,
85+ "Arrays::<String>sort"
86+ })
87+ public void testMethodReferences (String input ) throws IOException {
10188 JavaDSLParser parser = JavaDSLMill .parser ();
102- assertTrue (parser .parse_StringExpression ("String::length" ).isPresent ());
103- assertTrue (parser .parse_StringExpression ("System::currentTimeMillis" ).isPresent ());
104- assertTrue (parser .parse_StringExpression ("List<String>::size" ).isPresent ());
105- assertTrue (parser .parse_StringExpression ("int[]::clone" ).isPresent ());
106- assertTrue (parser .parse_StringExpression ("System.out::println" ).isPresent ());
107- assertTrue (parser .parse_StringExpression ("\" abc\" ::length" ).isPresent ());
108- assertTrue (parser .parse_StringExpression ("foo[x]::bar" ).isPresent ());
109- assertTrue (parser .parse_StringExpression ("(test ? list.replaceAll(String::trim) : list) :: iterator" ).isPresent ());
110- assertTrue (parser .parse_StringExpression ("super::toString" ).isPresent ());
111- assertTrue (parser .parse_StringExpression ("Arrays::<String>sort" ).isPresent ());
89+ assertTrue (parser .parse_StringExpression (input ).isPresent ());
11290 }
11391
114- @ Test
115- public void testModuleDeclaration () {
116- assertParsingSuccess ("src/test/resources/moduleDeclaration/module-info.java" );
92+ @ ParameterizedTest
93+ @ ValueSource (strings = {
94+ "src/test/resources/moduleDeclaration/module-info.java"
95+ })
96+ public void testModuleDeclaration (String path ) {
97+ assertParsingSuccess (path );
11798 }
11899
119100 @ Test
0 commit comments