Handle if else if (else) statements

This commit is contained in:
2018-11-13 15:15:44 +01:00
parent 56f3777053
commit b9aac52476
6 changed files with 120 additions and 26 deletions

View File

@@ -34,5 +34,26 @@ end";
var actual = (long)(NumberLong)script.Evaluate();
Assert.Equal(expected, actual);
}
[Theory]
[InlineData("true", "false", 3, 8, 5, 3)]
[InlineData("false", "true", 3, 8, 5, 8)]
public void BasicIfElseIfElseTests(string condition1, string condition2, int in1, int in2, int in3, long expected)
{
var input =
$@"
if {condition1} then
val = {in1}
elseif {condition2} then
val = {in2}
else
val = {in3}
end";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
var actual = (long)(NumberLong)script.Evaluate();
Assert.Equal(expected, actual);
}
}
}