aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/couscous/tests/interpreter
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-06 17:38:26 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-06 17:38:26 +0000
commit2e7d1bb669e3ee26efe060ca5ea92ef73cebff83 (patch)
tree204c038ed8dff909f3bed79145144749b266d107 /src/test/java/org/zwobble/couscous/tests/interpreter
parenta063cdcec0ecfe449a22f0134dc559a40583fc09 (diff)
Add return type to MethodSignature
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/interpreter')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java6
-rw-r--r--src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java24
2 files changed, 17 insertions, 13 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 49b435d..afd0936 100644
--- a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java
@@ -66,7 +66,7 @@ public class EvaluatorTests extends BackendEvalTests {
"size",
list(),
IntegerValue.REF)));
- assertEquals(new MethodSignature("size", list()), exception.getSignature());
+ assertEquals(new MethodSignature("size", list(), IntegerValue.REF), exception.getSignature());
}
@Test
@@ -78,7 +78,7 @@ public class EvaluatorTests extends BackendEvalTests {
"substring",
list(literal(1)),
StringValue.REF)));
- assertEquals(new MethodSignature("substring", list(IntegerValue.REF)), exception.getSignature());
+ assertEquals(new MethodSignature("substring", list(IntegerValue.REF), StringValue.REF), exception.getSignature());
}
@Test
@@ -91,7 +91,7 @@ public class EvaluatorTests extends BackendEvalTests {
list(literal(0), literal("")),
StringValue.REF)));
assertEquals(
- new MethodSignature("substring", list(IntegerValue.REF, StringValue.REF)),
+ new MethodSignature("substring", list(IntegerValue.REF, StringValue.REF), StringValue.REF),
exception.getSignature());
}
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 f9b1f07..499d18c 100644
--- a/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/interpreter/InterpreterMethodTests.java
@@ -1,11 +1,10 @@
package org.zwobble.couscous.tests.interpreter;
-import java.util.List;
-import java.util.stream.Collectors;
-
import org.junit.Test;
import org.zwobble.couscous.ast.*;
-import org.zwobble.couscous.interpreter.*;
+import org.zwobble.couscous.interpreter.Interpreter;
+import org.zwobble.couscous.interpreter.JavaProject;
+import org.zwobble.couscous.interpreter.Project;
import org.zwobble.couscous.interpreter.errors.NoSuchMethod;
import org.zwobble.couscous.interpreter.errors.UnboundVariable;
import org.zwobble.couscous.interpreter.errors.UnexpectedValueType;
@@ -17,6 +16,10 @@ import org.zwobble.couscous.tests.MethodRunner;
import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.PrimitiveValue;
import org.zwobble.couscous.values.StringValue;
+import org.zwobble.couscous.values.UnitValue;
+
+import java.util.List;
+import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
import static org.zwobble.couscous.ast.AssignmentNode.assign;
@@ -41,7 +44,7 @@ public class InterpreterMethodTests extends BackendMethodTests {
NoSuchMethod exception = assertThrows(NoSuchMethod.class,
() -> runMethod(method, value("hello, world!")));
- assertEquals(new MethodSignature("hello", list(StringValue.REF)), exception.getSignature());
+ assertEquals(new MethodSignature("hello", list(StringValue.REF), UnitValue.REF), exception.getSignature());
}
@Test
@@ -102,10 +105,11 @@ public class InterpreterMethodTests extends BackendMethodTests {
return new MethodRunner() {
@Override
public PrimitiveValue runMethod(
- List<ClassNode> classNodes,
- TypeName className,
- String methodName,
- List<PrimitiveValue> arguments) {
+ List<ClassNode> classNodes,
+ TypeName className,
+ String methodName,
+ List<PrimitiveValue> arguments,
+ TypeName returnType) {
Project project = JavaProject.of(classNodes);
Interpreter interpreter = new Interpreter(project);
@@ -113,7 +117,7 @@ public class InterpreterMethodTests extends BackendMethodTests {
.map(InterpreterValues::value)
.collect(Collectors.toList());
- return interpreter.run(className, methodName, argumentValues)
+ return interpreter.run(className, methodName, argumentValues, returnType)
.toPrimitiveValue().get();
}
};