aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-04 22:27:22 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-04 22:27:22 +0100
commit7e3abc416be5466c89df826ab3db4887acf96bc9 (patch)
treedb79cd33b67f4c8d767336964a2d216eaf853cc9 /src/test/java/org/zwobble
parent3c42c0a7c1196cc290dbcdc55dcb84379ad523e4 (diff)
Extract isArgument matcher
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java8
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java6
2 files changed, 9 insertions, 5 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
index 97b8b66..5bcb044 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
@@ -29,6 +29,7 @@ import static org.zwobble.couscous.ast.TypeCoercionNode.typeCoercion;
import static org.zwobble.couscous.ast.VariableReferenceNode.reference;
import static org.zwobble.couscous.ast.WhileNode.whileLoop;
import static org.zwobble.couscous.tests.frontends.java.JavaReading.*;
+import static org.zwobble.couscous.tests.frontends.java.NodeMatchers.isArgument;
import static org.zwobble.couscous.util.ExtraLists.list;
import static org.zwobble.couscous.util.ExtraSets.set;
@@ -74,13 +75,10 @@ public class JavaReaderTests {
"}");
MethodNode method = classNode.getMethods().get(0);
- FormalArgumentNode argument = method.getArguments().get(0);
- assertEquals("value", argument.getName());
- assertEquals(ScalarType.of("int"), argument.getType());
- assertEquals(1, method.getArguments().size());
+ assertThat(method.getArguments(), contains(isArgument("value", ScalarType.of("int"))));
ReturnNode returnNode = (ReturnNode)method.getBody().get().get(0);
- assertEquals(reference(argument), returnNode.getValue());
+ assertEquals(reference(method.getArguments().get(0)), returnNode.getValue());
}
@Test
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java
index a1b60e9..efd4eb4 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java
@@ -14,6 +14,12 @@ public class NodeMatchers {
return hasFeature("initial value", node -> node.getInitialValue(), matcher);
}
+ public static Matcher<FormalArgumentNode> isArgument(String name, Type type) {
+ return allOf(
+ hasFeature("name", node -> node.getName(), equalTo(name)),
+ hasFeature("type", node -> node.getType(), equalTo(type)));
+ }
+
@SafeVarargs
public static Matcher<ExpressionNode> isFieldAccess(Matcher<? super FieldAccessNode>... matchers) {
return isInstance(FieldAccessNode.class, allOf(matchers));