diff options
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/interpreter/EvaluatorTests.java | 19 |
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()); + } } |
