diff options
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java | 5 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java | 19 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java index ff74d1b..9575843 100644 --- a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java +++ b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java @@ -4,7 +4,6 @@ import org.junit.Test; import org.zwobble.couscous.JavaProject; import org.zwobble.couscous.MapBackedProject; import org.zwobble.couscous.ast.ClassNode; -import org.zwobble.couscous.ast.FormalArgumentNode; import org.zwobble.couscous.ast.MethodNode; import org.zwobble.couscous.ast.ReturnNode; import org.zwobble.couscous.ast.TernaryConditionalNode; @@ -22,9 +21,11 @@ import com.google.common.collect.ImmutableMap; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.Assignment.assign; +import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.MethodCallNode.methodCall; import static org.zwobble.couscous.ast.StaticMethodCallNode.staticMethodCall; +import static org.zwobble.couscous.ast.VariableDeclaration.var; import static org.zwobble.couscous.interpreter.Evaluator.eval; import static org.zwobble.couscous.tests.util.ExtraAsserts.assertThrows; @@ -33,7 +34,7 @@ import lombok.val; public class EvaluatorTests { @Test public void valueOfAssignmentExpressionIsNewValue() { - val arg = new FormalArgumentNode(42, StringValue.REF, "x"); + val arg = formalArg(var(42, "x", StringValue.REF)); val environment = new Environment( new MapBackedProject(ImmutableMap.of()), new StackFrameBuilder().declare(arg, new StringValue("[initial value]")).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 6fe799f..d0c8976 100644 --- a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java +++ b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterTests.java @@ -5,7 +5,6 @@ import org.zwobble.couscous.MapBackedProject; import org.zwobble.couscous.ast.Assignment; import org.zwobble.couscous.ast.ClassNode; import org.zwobble.couscous.ast.ExpressionStatementNode; -import org.zwobble.couscous.ast.FormalArgumentNode; import org.zwobble.couscous.ast.LiteralNode; import org.zwobble.couscous.ast.MethodNode; import org.zwobble.couscous.ast.ReturnNode; @@ -23,9 +22,11 @@ import com.google.common.collect.ImmutableMap; import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration; import static org.zwobble.couscous.ast.MethodNode.staticMethod; +import static org.zwobble.couscous.ast.VariableDeclaration.var; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; import static org.zwobble.couscous.tests.util.ExtraAsserts.assertThrows; import static org.zwobble.couscous.values.UnitValue.UNIT; @@ -52,7 +53,7 @@ public class InterpreterTests { @Test public void canPassValueToMethod() { - val arg = new FormalArgumentNode(42, StringValue.REF, "x"); + val arg = formalArg(var(42, "x", StringValue.REF)); val method = staticMethod("hello") .argument(arg) .statement(new ReturnNode(reference(arg))); @@ -73,7 +74,7 @@ public class InterpreterTests { @Test public void canReassignValueToArgument() { - val arg = new FormalArgumentNode(42, StringValue.REF, "x"); + val arg = formalArg(var(42, "x", StringValue.REF)); val method = staticMethod("hello") .argument(arg) .statement(new ExpressionStatementNode(new Assignment(reference(arg), LiteralNode.literal("[updated value]")))) @@ -85,7 +86,7 @@ public class InterpreterTests { @Test public void errorIfTryingToAssignValueOfWrongTypeToVariable() { - val arg = new FormalArgumentNode(42, StringValue.REF, "x"); + val arg = formalArg(var(42, "x", StringValue.REF)); val method = staticMethod("hello") .argument(arg) .statement(new ExpressionStatementNode(new Assignment(reference(arg), literal(0)))); @@ -99,7 +100,7 @@ public class InterpreterTests { @Test public void canDeclareVariable() { val localVariableDeclaration = localVariableDeclaration( - 42, StringValue.REF, "x", LiteralNode.literal("[initial value]")); + 42, "x", StringValue.REF, LiteralNode.literal("[initial value]")); val method = staticMethod("hello") .statement(localVariableDeclaration) .statement(new ReturnNode(reference(localVariableDeclaration))); @@ -111,7 +112,7 @@ public class InterpreterTests { @Test public void canDeclareVariableAndThenAssignValues() { val localVariableDeclaration = localVariableDeclaration( - 42, StringValue.REF, "x", LiteralNode.literal("[initial value]")); + 42, "x", StringValue.REF, LiteralNode.literal("[initial value]")); val method = staticMethod("hello") .statement(localVariableDeclaration) .statement(new ExpressionStatementNode(new Assignment(reference(localVariableDeclaration), LiteralNode.literal("[updated value]")))) @@ -124,7 +125,7 @@ public class InterpreterTests { @Test public void errorIfTryingToAssignToVariableNotInScope() { val localVariableDeclaration = localVariableDeclaration( - 42, StringValue.REF, "x", literal("")); + 42, "x", StringValue.REF, literal("")); val method = staticMethod("hello") .statement(new ExpressionStatementNode(new Assignment(reference(localVariableDeclaration), LiteralNode.literal("[updated value]")))); @@ -137,7 +138,7 @@ public class InterpreterTests { @Test public void errorIfTryingToGetValueOfVariableNotInScope() { val localVariableDeclaration = localVariableDeclaration( - 42, StringValue.REF, "x", literal("")); + 42, "x", StringValue.REF, literal("")); val method = staticMethod("hello") .statement(new ReturnNode(reference(localVariableDeclaration))); @@ -150,7 +151,7 @@ public class InterpreterTests { @Test public void errorIfTryingToGetValueOfUnboundVariable() { val localVariableDeclaration = localVariableDeclaration( - 42, StringValue.REF, "x", literal("")); + 42, "x", StringValue.REF, literal("")); val method = staticMethod("hello") .statement(new ReturnNode(reference(localVariableDeclaration))) .statement(localVariableDeclaration); |
