diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-25 19:18:09 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-25 19:34:44 +0000 |
| commit | 368f2dd010defaf5f4b6deb70f45285cee8f244d (patch) | |
| tree | 55494f85341f23dd1e588fa070ef863ef7cfdef5 /src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java | |
| parent | 060ae04a695df6abac7445df3c5394b59da40f41 (diff) | |
Remove lombok
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java | 76 |
1 files changed, 32 insertions, 44 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java index 0f463ca..f1af3a9 100644 --- a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java +++ b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java @@ -2,12 +2,13 @@ package org.zwobble.couscous.tests; import org.junit.Test; import org.zwobble.couscous.ast.ClassNode; +import org.zwobble.couscous.ast.FormalArgumentNode; import org.zwobble.couscous.ast.LiteralNode; +import org.zwobble.couscous.ast.LocalVariableDeclarationNode; import org.zwobble.couscous.ast.MethodNode; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.PrimitiveValues; 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; @@ -22,88 +23,75 @@ import static org.zwobble.couscous.ast.VariableReferenceNode.reference; import static org.zwobble.couscous.tests.TestIds.ANY_ID; import static org.zwobble.couscous.values.PrimitiveValues.value; -import lombok.val; - public abstract class BackendMethodTests { @Test public void methodWithNoStatementsReturnsUnit() { - val method = staticMethod("hello"); - val result = runMethod(method); - + MethodNode.Builder method = staticMethod("hello"); + final java.lang.Object result = runMethod(method); assertEquals(PrimitiveValues.UNIT, result); } @Test public void canReturnLiteralValue() { - val method = staticMethod("hello") + MethodNode.Builder method = staticMethod("hello") .statement(returns(literal("hello, world!"))); - val result = runMethod(method); - + final java.lang.Object result = runMethod(method); assertEquals(value("hello, world!"), result); } + @Test public void canPassValueToMethod() { - val arg = formalArg(var(ANY_ID, "x", StringValue.REF)); - val method = staticMethod("hello") + FormalArgumentNode arg = formalArg(var(ANY_ID, "x", StringValue.REF)); + MethodNode.Builder method = staticMethod("hello") .argument(arg) .statement(returns(reference(arg))); - val result = runMethod(method, value("hello, world!")); - + final java.lang.Object result = runMethod(method, value("hello, world!")); assertEquals(value("hello, world!"), result); } @Test public void canReassignValueToArgument() { - val arg = formalArg(var(ANY_ID, "x", StringValue.REF)); - val method = staticMethod("hello") + FormalArgumentNode arg = formalArg(var(ANY_ID, "x", StringValue.REF)); + MethodNode.Builder method = staticMethod("hello") .argument(arg) - .statement(expressionStatement(assign(reference(arg), LiteralNode.literal("[updated value]")))) + .statement(expressionStatement(assign( + reference(arg), + literal("[updated value]")))) .statement(returns(reference(arg))); - val result = runMethod(method, value("[initial value]")); - + final java.lang.Object result = runMethod(method, value("[initial value]")); assertEquals(value("[updated value]"), result); } @Test public void canDeclareVariable() { - val localVariableDeclaration = localVariableDeclaration( - ANY_ID, "x", StringValue.REF, LiteralNode.literal("[initial value]")); - val method = staticMethod("hello") + LocalVariableDeclarationNode localVariableDeclaration = localVariableDeclaration(ANY_ID, "x", StringValue.REF, LiteralNode.literal("[initial value]")); + MethodNode.Builder method = staticMethod("hello") .statement(localVariableDeclaration) .statement(returns(reference(localVariableDeclaration))); - val result = runMethod(method); - + final java.lang.Object result = runMethod(method); assertEquals(value("[initial value]"), result); } @Test public void canDeclareVariableAndThenAssignValues() { - val localVariableDeclaration = localVariableDeclaration( - ANY_ID, "x", StringValue.REF, LiteralNode.literal("[initial value]")); - val method = staticMethod("hello") + LocalVariableDeclarationNode localVariableDeclaration = localVariableDeclaration(ANY_ID, "x", StringValue.REF, LiteralNode.literal("[initial value]")); + MethodNode.Builder method = staticMethod("hello") .statement(localVariableDeclaration) - .statement(expressionStatement(assign(reference(localVariableDeclaration), LiteralNode.literal("[updated value]")))) + .statement(expressionStatement(assign( + reference(localVariableDeclaration), + literal("[updated value]")))) .statement(returns(reference(localVariableDeclaration))); - val result = runMethod(method); - + final java.lang.Object result = runMethod(method); assertEquals(value("[updated value]"), result); } - + protected PrimitiveValue runMethod(MethodNode.Builder methodBuilder, PrimitiveValue... arguments) { - val method = methodBuilder.build(); - val className = "com.example.Program"; - val classNode = ClassNode.builder(className) - .method(method) - .build(); - - val runner = buildMethodRunner(); - return runner.runMethod( - asList(classNode), - classNode.getName(), - method.getName(), - asList(arguments)); + MethodNode method = methodBuilder.build(); + String className = "com.example.Program"; + ClassNode classNode = ClassNode.builder(className).method(method).build(); + MethodRunner runner = buildMethodRunner(); + return runner.runMethod(asList(classNode), classNode.getName(), method.getName(), asList(arguments)); } protected abstract MethodRunner buildMethodRunner(); - -} +}
\ No newline at end of file |
