aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-06 11:52:26 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-06 11:52:26 +0100
commitf8824d99ce826ebf83498dbce2bbf1d98472a9e3 (patch)
treec60d08a20db43fda9de9b41451407e3e651ee847 /src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
parentfda9d33c0d630906baad5c60e75db5cd8502bfe8 (diff)
Support user-defined static methods in Python backend
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
index 26939dc..449a251 100644
--- a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
@@ -4,18 +4,18 @@ import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test;
-import org.zwobble.couscous.MapBackedProject;
+import org.zwobble.couscous.JavaProject;
import org.zwobble.couscous.ast.AssignmentNode;
import org.zwobble.couscous.ast.ClassNode;
import org.zwobble.couscous.ast.ExpressionStatementNode;
import org.zwobble.couscous.ast.LiteralNode;
import org.zwobble.couscous.ast.ReturnNode;
+import org.zwobble.couscous.ast.TypeName;
import org.zwobble.couscous.interpreter.Interpreter;
import org.zwobble.couscous.interpreter.UnboundVariable;
import org.zwobble.couscous.interpreter.UnexpectedValueType;
import org.zwobble.couscous.interpreter.VariableNotInScope;
import org.zwobble.couscous.interpreter.WrongNumberOfArguments;
-import org.zwobble.couscous.interpreter.values.ConcreteType;
import org.zwobble.couscous.interpreter.values.InterpreterValues;
import org.zwobble.couscous.tests.BackendMethodTests;
import org.zwobble.couscous.tests.MethodRunner;
@@ -23,8 +23,6 @@ import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.PrimitiveValue;
import org.zwobble.couscous.values.StringValue;
-import com.google.common.collect.ImmutableMap;
-
import static org.junit.Assert.assertEquals;
import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg;
import static org.zwobble.couscous.ast.LiteralNode.literal;
@@ -106,16 +104,18 @@ public class InterpreterMethodTests extends BackendMethodTests {
return new MethodRunner() {
@Override
public PrimitiveValue runMethod(
- ClassNode classNode,
+ List<ClassNode> classNodes,
+ TypeName className,
String methodName,
List<PrimitiveValue> arguments) {
- val interpreter = new Interpreter(new MapBackedProject(ImmutableMap.of(
- classNode.getName(), ConcreteType.fromNode(classNode))));
+
+ val project = JavaProject.of(classNodes);
+ val interpreter = new Interpreter(project);
val argumentValues = arguments.stream()
.map(InterpreterValues::value)
.collect(Collectors.toList());
- return interpreter.run(classNode.getName(), methodName, argumentValues)
+ return interpreter.run(className, methodName, argumentValues)
.toPrimitiveValue().get();
}
};