diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-06 11:52:26 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-06 11:52:26 +0100 |
| commit | f8824d99ce826ebf83498dbce2bbf1d98472a9e3 (patch) | |
| tree | c60d08a20db43fda9de9b41451407e3e651ee847 /src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java | |
| parent | fda9d33c0d630906baad5c60e75db5cd8502bfe8 (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.java | 16 |
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(); } }; |
