diff options
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java b/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java new file mode 100644 index 0000000..c4a3538 --- /dev/null +++ b/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java @@ -0,0 +1,28 @@ +package org.zwobble.couscous.tests; + +import org.junit.Test; +import org.zwobble.couscous.ast.ExpressionNode; +import org.zwobble.couscous.ast.TernaryConditionalNode; +import org.zwobble.couscous.values.PrimitiveValue; + +import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.LiteralNode.literal; +import static org.zwobble.couscous.values.PrimitiveValues.value; + +import lombok.val; + +public abstract class BackendEvalTests { + @Test + public void whenConditionIsTrueThenValueOfConditionalTernaryIsTrueBranch() { + val result = evalExpression(new TernaryConditionalNode(literal(true), literal("T"), literal("F"))); + assertEquals(value("T"), result); + } + + @Test + public void whenConditionIsFalseThenValueOfConditionalTernaryIsFalseBranch() { + val result = evalExpression(new TernaryConditionalNode(literal(false), literal("T"), literal("F"))); + assertEquals(value("F"), result); + } + + protected abstract PrimitiveValue evalExpression(ExpressionNode expression); +} |
