diff options
Diffstat (limited to 'src/test/java/org/zwobble')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java | 1 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java index ede89d6..2a6fd85 100644 --- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java +++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java @@ -42,6 +42,7 @@ public class ValueObjectTests { public static Iterable<Object[]> valueObjectTypes() { return asList(new Object[][] { {AnnotationNode.class}, + {ArrayNode.class}, {AssignmentNode.class}, {BoundTypeParameter.class}, {CastNode.class}, diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java index 3ad255b..b1f5049 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java @@ -9,6 +9,7 @@ import java.util.List; import static java.util.Collections.emptyList; import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.ArrayNode.array; import static org.zwobble.couscous.ast.AssignmentNode.assign; import static org.zwobble.couscous.ast.CastNode.cast; import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; @@ -25,6 +26,7 @@ import static org.zwobble.couscous.ast.ThisReferenceNode.thisReference; import static org.zwobble.couscous.ast.TypeCoercionNode.typeCoercion; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; import static org.zwobble.couscous.tests.frontends.java.JavaReading.*; +import static org.zwobble.couscous.types.ParameterizedType.parameterizedType; import static org.zwobble.couscous.util.ExtraLists.list; public class ExpressionReadingTests { @@ -183,6 +185,28 @@ public class ExpressionReadingTests { } @Test + public void canReadMethodCallsWithZeroExpressionsAsVarargs() { + assertEquals( + staticMethodCall( + ScalarType.of("java.util.Arrays"), + "asList", + list(array(Types.STRING, list())), + parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING))), + readExpression("java.util.List<String>", "java.util.Arrays.asList()")); + } + + @Test + public void canReadMethodCallsWithMultipleExpressionsAsVarargs() { + assertEquals( + staticMethodCall( + ScalarType.of("java.util.Arrays"), + "asList", + list(array(Types.STRING, list(literal("one"), literal("two")))), + parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING))), + readExpression("java.util.List<String>", "java.util.Arrays.asList(\"one\", \"two\")")); + } + + @Test public void canReadConstructorCalls() { assertEquals( constructorCall(ScalarType.of("java.lang.String"), list(literal("_"))), |
