From c25a5ffdb5e90004f4a3e239369703d311a65bac Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 5 Oct 2015 13:33:22 +0100 Subject: Move declare and set test into generic test suite --- src/test/java/org/zwobble/couscous/tests/BackendTests.java | 13 +++++++++++++ .../couscous/tests/interpreter/InterpreterTests.java | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/test/java/org/zwobble/couscous/tests/BackendTests.java b/src/test/java/org/zwobble/couscous/tests/BackendTests.java index f9566d7..dc13469 100644 --- a/src/test/java/org/zwobble/couscous/tests/BackendTests.java +++ b/src/test/java/org/zwobble/couscous/tests/BackendTests.java @@ -74,6 +74,19 @@ public abstract class BackendTests { assertEquals(value("[initial value]"), result); } + + @Test + public void canDeclareVariableAndThenAssignValues() { + val localVariableDeclaration = localVariableDeclaration( + 42, "x", StringValue.REF, LiteralNode.literal("[initial value]")); + val method = staticMethod("hello") + .statement(localVariableDeclaration) + .statement(new ExpressionStatementNode(new AssignmentNode(reference(localVariableDeclaration), LiteralNode.literal("[updated value]")))) + .statement(new ReturnNode(reference(localVariableDeclaration))); + val result = runMethod(method); + + assertEquals(value("[updated value]"), result); + } protected PrimitiveValue runMethod(MethodNode.MethodNodeBuilder methodBuilder, PrimitiveValue... arguments) { val method = methodBuilder.build(); diff --git a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java index d5a7617..5ccdd43 100644 --- a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java +++ b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java @@ -61,19 +61,6 @@ public class InterpreterTests extends BackendTests { assertEquals(new UnexpectedValueType(StringValue.REF, IntegerValue.REF), exception); } - @Test - public void canDeclareVariableAndThenAssignValues() { - val localVariableDeclaration = localVariableDeclaration( - 42, "x", StringValue.REF, LiteralNode.literal("[initial value]")); - val method = staticMethod("hello") - .statement(localVariableDeclaration) - .statement(new ExpressionStatementNode(new AssignmentNode(reference(localVariableDeclaration), LiteralNode.literal("[updated value]")))) - .statement(new ReturnNode(reference(localVariableDeclaration))); - val result = runMethod(method); - - assertEquals(value("[updated value]"), result); - } - @Test public void errorIfTryingToAssignToVariableNotInScope() { val localVariableDeclaration = localVariableDeclaration( -- cgit v1.2.3