Skip to content

Commit

Permalink
start testing ArrayTypeUsage
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomassetti committed Oct 30, 2015
1 parent 8db9e47 commit 051adb2
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public interface MethodDeclaration extends Declaration, TypeParametrized {
* Create the MethodUsage corresponding to this declaration with all generic types solved in the given
* context.
*/
@Deprecated
MethodUsage resolveTypeVariables(Context context, TypeSolver typeSolver, List<TypeUsage> parameterTypes);

Context getContext();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ default SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsa
return getContext().solveMethod(name, parameterTypes, typeSolver);
}

@Deprecated
default Optional<MethodUsage> solveMethodAsUsage(String name, List<TypeUsage> parameterTypes, TypeSolver typeSolver, Context invokationContext, List<TypeUsage> typeParameterValues) {
return getContext().solveMethodAsUsage(name, parameterTypes, typeSolver);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsag

return MethodResolutionLogic.findMostApplicable(candidates, name, parameterTypes, typeSolver);
}

public TypeUsage getUsage(Node node) {
return new ReferenceTypeUsage(this);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package me.tomassetti.symbolsolver.model.typesystem;

import me.tomassetti.symbolsolver.resolution.reflection.ReflectionClassDeclaration;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class ArrayTypeUsageTest {

private ArrayTypeUsage arrayOfBooleans;
private ArrayTypeUsage arrayOfStrings;

@Before
public void setup() {
arrayOfBooleans = new ArrayTypeUsage(PrimitiveTypeUsage.BOOLEAN);
arrayOfStrings = new ArrayTypeUsage(new ReferenceTypeUsage(new ReflectionClassDeclaration(String.class)));
}

@Test
public void testIsArray() {
assertEquals(true, arrayOfBooleans.isArray());
assertEquals(true, arrayOfStrings.isArray());
}

@Test
public void testIsPrimitive() {
assertEquals(false, arrayOfBooleans.isPrimitive());
assertEquals(false, arrayOfStrings.isPrimitive());
}

@Test
public void testIsNull() {
assertEquals(false, arrayOfBooleans.isNull());
assertEquals(false, arrayOfStrings.isNull());
}

@Test
public void testIsReference() {
assertEquals(true, arrayOfBooleans.isReference());
assertEquals(true, arrayOfStrings.isReference());
}

@Test
public void testIsReferenceType() {
assertEquals(false, arrayOfBooleans.isReferenceType());
assertEquals(false, arrayOfStrings.isReferenceType());
}

@Test
public void testIsVoid() {
assertEquals(false, arrayOfBooleans.isVoid());
assertEquals(false, arrayOfStrings.isVoid());
}

@Test
public void testIsTypeVariable() {
assertEquals(false, arrayOfBooleans.isTypeVariable());
assertEquals(false, arrayOfStrings.isTypeVariable());
}

}

0 comments on commit 051adb2

Please sign in to comment.