From e25666869229ae2f586ad12ceb0f9257ec6bbd91 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 29 Sep 2015 20:42:41 +0100 Subject: Add ternary conditionals --- .../couscous/tests/interpreter/EvaluatorTests.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/test/java/org') 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()); + } } -- cgit v1.2.3