using Upsilon; using Upsilon.Evaluator; using Xunit; namespace UpsilonTests.GeneralTests { public class MathPrecedence : TestClass { public MathPrecedence(StaticScriptFixture fix) : base(fix) { } [Theory] [InlineData("5 * (10 + 5)", 75)] [InlineData("(10 + 5) * 5", 75)] public void Parenthesis(string input, double expectedOutput) { var actual = Executor.EvaluateScript(input, Options); Assert.Equal(expectedOutput, actual, 8); } [Theory] [InlineData("5 * 10 + 5", 55)] [InlineData("5 + 10 * 5", 55)] public void MultiplicationBeforeAddition(string input, double expectedOutput) { var actual = Executor.EvaluateScript(input, Options); Assert.Equal(expectedOutput, actual, 8); } } }