diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-04 22:27:22 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-04 22:27:22 +0100 |
| commit | 7e3abc416be5466c89df826ab3db4887acf96bc9 (patch) | |
| tree | db79cd33b67f4c8d767336964a2d216eaf853cc9 /src/test/java | |
| parent | 3c42c0a7c1196cc290dbcdc55dcb84379ad523e4 (diff) | |
Extract isArgument matcher
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 8 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/NodeMatchers.java | 6 |
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)); |
