diff --git a/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/GenericsResolutionTest.java b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/GenericsResolutionTest.java index 1d6376d03a..859a2a3952 100644 --- a/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/GenericsResolutionTest.java +++ b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/GenericsResolutionTest.java @@ -43,24 +43,11 @@ import static org.junit.Assert.assertEquals; +/** + * Tests related to resolved Generics types. + */ public class GenericsResolutionTest extends AbstractResolutionTest { - @Test - public void complexTypeSolving() { - CompilationUnit cu = parseSample("ComplexTypeResolving"); - ClassOrInterfaceDeclaration mainClass = Navigator.demandClass(cu, "Main"); - - ClassOrInterfaceDeclaration childDec = (ClassOrInterfaceDeclaration) mainClass.getMember(1); - ExpressionStmt stmt = - (ExpressionStmt) Navigator.demandMethod(childDec, "foo").getBody().get().getStatement(0); - ReferenceTypeImpl resolvedType = - (ReferenceTypeImpl) JavaParserFacade.get(new ReflectionTypeSolver()).getType(stmt.getExpression()); - ClassOrInterfaceDeclaration resolvedTypeDeclaration - = ((JavaParserClassDeclaration) resolvedType.getTypeDeclaration()).getWrappedNode(); - - assertEquals(mainClass, resolvedTypeDeclaration.getParentNode().get()); - } - @Test public void resolveFieldWithGenericTypeToString() { CompilationUnit cu = parseSample("Generics"); diff --git a/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/MethodsResolutionTest.java b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/MethodsResolutionTest.java index 04a69b9e86..08b6bef168 100644 --- a/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/MethodsResolutionTest.java +++ b/javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/MethodsResolutionTest.java @@ -22,6 +22,7 @@ import com.github.javaparser.ast.expr.Expression; import com.github.javaparser.ast.expr.MethodCallExpr; import com.github.javaparser.ast.expr.ThisExpr; +import com.github.javaparser.ast.stmt.ExpressionStmt; import com.github.javaparser.ast.stmt.ReturnStmt; import com.github.javaparser.resolution.MethodUsage; import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration; @@ -29,8 +30,10 @@ import com.github.javaparser.symbolsolver.javaparser.Navigator; import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserAnonymousClassDeclaration; +import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration; import com.github.javaparser.symbolsolver.model.resolution.SymbolReference; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; +import com.github.javaparser.symbolsolver.model.typesystem.ReferenceTypeImpl; import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; import org.junit.Test; @@ -378,4 +381,20 @@ public void resolveMethodCallWithScopeDeclarationInSwitchEntryStmt() { assertTrue(reference.isSolved()); assertEquals("java.io.File.delete()", reference.getCorrespondingDeclaration().getQualifiedSignature()); } + + @Test + public void complexTypeSolving() { + CompilationUnit cu = parseSample("ComplexTypeResolving"); + ClassOrInterfaceDeclaration mainClass = Navigator.demandClass(cu, "Main"); + + ClassOrInterfaceDeclaration childDec = (ClassOrInterfaceDeclaration) mainClass.getMember(1); + ExpressionStmt stmt = + (ExpressionStmt) Navigator.demandMethod(childDec, "foo").getBody().get().getStatement(0); + ReferenceTypeImpl resolvedType = + (ReferenceTypeImpl) JavaParserFacade.get(new ReflectionTypeSolver()).getType(stmt.getExpression()); + ClassOrInterfaceDeclaration resolvedTypeDeclaration + = ((JavaParserClassDeclaration) resolvedType.getTypeDeclaration()).getWrappedNode(); + + assertEquals(mainClass, resolvedTypeDeclaration.getParentNode().get()); + } }