diff options
author | Daan Schipper <daancschipper@gmail.com> | 2018-02-19 16:16:18 +0100 |
---|---|---|
committer | Daan Schipper <daancschipper@gmail.com> | 2018-02-27 13:34:41 +0100 |
commit | 5606e3b0255a8f1250734f3a429b381371a3c9f8 (patch) | |
tree | 9d2e4a480eee4d64ba2ba6158920907a6111f7a9 | |
parent | 354773c7727dfde5a6393e0fc4e42b35fe5df48e (diff) | |
download | javaparser-5606e3b0255a8f1250734f3a429b381371a3c9f8.tar.gz |
unit test
9 files changed, 75 insertions, 1 deletions
diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetup.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetup.java index a9287d7d7..de6628f2b 100644 --- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetup.java +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetup.java @@ -48,7 +48,7 @@ import static java.nio.file.FileVisitResult.SKIP_SIBLINGS; /** * Utility class to add all jars and roots of java files of the provided path to a TypeSolver instance. - * It traverses the file directory tree and adds all files ending in either .java or .jar. + * It traverses the file directory tree and adds all files ending in either .java or .jar. */ public class SymbolSolverQuickSetup { diff --git a/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetupTest.java b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetupTest.java new file mode 100644 index 000000000..ddc1bc622 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/utils/SymbolSolverQuickSetupTest.java @@ -0,0 +1,50 @@ +package com.github.javaparser.symbolsolver.utils; + +import com.github.javaparser.ParserConfiguration; +import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; +import com.github.javaparser.symbolsolver.JavaSymbolSolver; +import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; +import com.github.javaparser.utils.SourceRoot; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; + + +/** + * Try to resolve all the ClassOrInterfaceDeclaration and MethodCallExpr in some resources folder. If it fails to do + * so, an IllegalStateException is thrown. + */ +public class SymbolSolverQuickSetupTest { + + private Path root = Paths.get("src/test/resources/symbolsolver_quicksetup"); + private ParserConfiguration parserConfiguration = new ParserConfiguration(); + + @Before + public void setUp() throws IOException { + SymbolSolverQuickSetup ssr = new SymbolSolverQuickSetup(root); + TypeSolver typeSolver = ssr.walk(); + + parserConfiguration.setSymbolResolver(new JavaSymbolSolver(typeSolver)); + } + + @Test(expected = IllegalStateException.class) + public void notResolve() throws IOException { + SourceRoot sourceRoot = new SourceRoot(root); + sourceRoot.tryToParse(); + // try to resolve, this will fail + sourceRoot.getCompilationUnits().forEach(compilationUnit -> + compilationUnit.findAll(ClassOrInterfaceDeclaration.class).forEach(ClassOrInterfaceDeclaration::resolve)); + } + + @Test + public void resolve() throws IOException { + SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration); + sourceRoot.tryToParse(); + // try to resolve, this should succeed + sourceRoot.getCompilationUnits().forEach(compilationUnit -> + compilationUnit.findAll(ClassOrInterfaceDeclaration.class).forEach(ClassOrInterfaceDeclaration::resolve)); + } +}
\ No newline at end of file diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/a.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/a.java new file mode 100644 index 000000000..909044a81 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/a.java @@ -0,0 +1,2 @@ +public class a { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/package_a/a.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/package_a/a.java new file mode 100644 index 000000000..198c2e4c8 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/a/src/package_a/a.java @@ -0,0 +1,4 @@ +package package_a; + +public class a { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/b.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/b.java new file mode 100644 index 000000000..9d113aad0 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/b.java @@ -0,0 +1,2 @@ +public class b { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/package_b/b.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/package_b/b.java new file mode 100644 index 000000000..6b0c60797 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/b/src/package_b/b.java @@ -0,0 +1,4 @@ +package package_b; + +public class b { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/c.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/c.java new file mode 100644 index 000000000..c8745a1b2 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/c.java @@ -0,0 +1,2 @@ +public class c { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/package_c/c.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/package_c/c.java new file mode 100644 index 000000000..4eb584993 --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/c/src/package_c/c.java @@ -0,0 +1,4 @@ +package package_c; + +public class c { +} diff --git a/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/src/Main.java b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/src/Main.java new file mode 100644 index 000000000..a0428dacd --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/resources/symbolsolver_quicksetup/src/Main.java @@ -0,0 +1,6 @@ +public class Main { + + public static void main(String[] args) { + System.out.println("Hello World!"); + } +} |