aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-29 20:42:41 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-29 20:42:41 +0100
commite25666869229ae2f586ad12ceb0f9257ec6bbd91 (patch)
tree1328b1d452f99fe243e81044fe1319374ee82c49 /src/test/java/org/zwobble
parent4e031ada69e27d9aa518ef00ebf532328ba23e79 (diff)
Add ternary conditionals
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java19
1 files changed, 19 insertions, 0 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 075d9b3..3adea06 100644
--- a/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java
@@ -2,6 +2,7 @@ package org.zwobble.couscous.tests.interpreter;
import org.junit.Test;
import org.zwobble.couscous.ast.FormalArgumentNode;
+import org.zwobble.couscous.ast.TernaryConditionalNode;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.values.StringValue;
@@ -22,4 +23,22 @@ public class EvaluatorTests {
val result = eval(environment, assign(arg, literal("[updated value]")));
assertEquals(new StringValue("[updated value]"), result);
}
+
+ @Test
+ public void whenConditionIsTrueThenValueOfConditionalTernaryIsTrueBranch() {
+ val result = eval(emptyEnvironment(),
+ new TernaryConditionalNode(literal(true), literal("T"), literal("F")));
+ assertEquals(new StringValue("T"), result);
+ }
+
+ @Test
+ public void whenConditionIsFalseThenValueOfConditionalTernaryIsFalseBranch() {
+ val result = eval(emptyEnvironment(),
+ new TernaryConditionalNode(literal(false), literal("T"), literal("F")));
+ assertEquals(new StringValue("F"), result);
+ }
+
+ private static Environment emptyEnvironment() {
+ return new Environment(ImmutableMap.of());
+ }
}