diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-20 19:27:54 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-20 19:27:54 +0100 |
| commit | 9498aa207ba01a1ab8316ae883a8cb735897522a (patch) | |
| tree | 41aa3d899d936215abc5d83eb082ab209dfe9284 /src/test/java/org | |
| parent | d0b2d1e1b447b2bb7b5f5275dfbc3bbd44b6c87b (diff) | |
Java: read constructors
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 23 |
1 files changed, 23 insertions, 0 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 4a92f1b..a9465cd 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 @@ -21,6 +21,7 @@ import org.zwobble.couscous.values.StringValue; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.AssignmentNode.assign; +import static org.zwobble.couscous.ast.AssignmentNode.assignStatement; import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess; import static org.zwobble.couscous.ast.FieldDeclarationNode.field; @@ -207,6 +208,28 @@ public class JavaReaderTests { asList(literal("42")))), readStatement("Integer.parseInt(\"42\");")); } + + @Test + public void canDeclareConstructor() { + val classNode = readClass( + "private final String name;" + + "public Example() {" + + " this.name = \"Flaws\";" + + "}"); + + val constructor = classNode.getConstructor(); + + assertEquals(asList(), constructor.getArguments()); + + assertEquals( + asList(assignStatement( + fieldAccess( + thisReference(TypeName.of("com.example.Example")), + "name", + StringValue.REF), + literal("Flaws"))), + constructor.getBody()); + } private ExpressionNode readExpressionInInstanceMethod(String expressionSource) { val javaClass = |
