Reworked bound variables into specific LuaType class instead of anonymous objects

This commit is contained in:
2018-11-14 13:09:01 +01:00
parent dff1ddc0ba
commit deefe43d9f
17 changed files with 125 additions and 56 deletions

View File

@@ -1,3 +1,4 @@
using Upsilon.BaseTypes.Number;
using Upsilon.Evaluator;
using Upsilon.Parser;
using Xunit;
@@ -16,7 +17,7 @@ namespace UpsilonTests
[InlineData("0.005 + 2.2", 2.205)]
public void Addition(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}
@@ -29,7 +30,7 @@ namespace UpsilonTests
[InlineData("10.256-2.8546", 7.4014)]
public void Subtraction(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}
@@ -39,7 +40,7 @@ namespace UpsilonTests
[InlineData("21312 * 41684", 888369408)]
public void Multiplication(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}
@@ -49,7 +50,7 @@ namespace UpsilonTests
[InlineData("656486 / 5146", 127.57209483)]
public void Divison(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}

View File

@@ -1,3 +1,4 @@
using Upsilon.BaseTypes;
using Upsilon.BaseTypes.Number;
using Upsilon.Evaluator;
using Xunit;
@@ -12,7 +13,7 @@ namespace UpsilonTests
var input = "if true then val = true end";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
var actual = script.Evaluate<bool>();
var actual = script.Evaluate<Boolean>();
Assert.True(actual);
}

View File

@@ -1,3 +1,4 @@
using Upsilon.BaseTypes.Number;
using Upsilon.Evaluator;
using Upsilon.Parser;
using Xunit;
@@ -11,7 +12,7 @@ namespace UpsilonTests
[InlineData("(10 + 5) * 5", 75)]
public void Parenthesis(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}
@@ -20,7 +21,7 @@ namespace UpsilonTests
[InlineData("5 + 10 * 5", 55)]
public void MultiplicationBeforeAddition(string input, double expectedOutput)
{
var actual = new Script(input).Evaluate<double>();
var actual = new Script(input).Evaluate<NumberDouble>();
Assert.Equal(expectedOutput, actual, 8);
}