using Upsilon.BaseTypes.Number; using Upsilon.Evaluator; using Xunit; namespace UpsilonTests { public class IfTests { [Fact] public void BasicIfTest() { var input = "if true then val = true end"; var script = new Script(input); Assert.Empty(script.Diagnostics.Messages); var actual = script.Evaluate(); Assert.True(actual); } [Theory] [InlineData("true", 3, 8, 3)] [InlineData("false", 3, 8, 8)] [InlineData("5 == 5", 500, 349, 500)] public void BasicIfElseTests(string condition, int in1, int in2, long expected) { var input = $@" if {condition} then val = {in1} else val = {in2} end"; var script = new Script(input); Assert.Empty(script.Diagnostics.Messages); var actual = (long)(NumberLong)script.Evaluate(); Assert.Equal(expected, actual); } } }