Tweaks for tests, allow for grabbing global scope variables
This commit is contained in:
@@ -17,8 +17,8 @@ namespace UpsilonTests
|
||||
[InlineData("0.005 + 2.2", 2.205)]
|
||||
public void Addition(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
var actual = new Script(input).Evaluate<Number>();
|
||||
Assert.Equal(expectedOutput, (double)actual, 8);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -30,8 +30,8 @@ namespace UpsilonTests
|
||||
[InlineData("10.256-2.8546", 7.4014)]
|
||||
public void Subtraction(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
var actual = new Script(input).Evaluate<Number>();
|
||||
Assert.Equal(expectedOutput, (double)actual, 8);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
@@ -40,18 +40,19 @@ namespace UpsilonTests
|
||||
[InlineData("21312 * 41684", 888369408)]
|
||||
public void Multiplication(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
var actual = new Script(input).Evaluate<Number>();
|
||||
Assert.Equal(expectedOutput, (double)actual, 8);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("1/1", 1)]
|
||||
[InlineData("1000 / 10", 100)]
|
||||
[InlineData("656486 / 5146", 127.57209483)]
|
||||
[InlineData("656486 / 5146", 127)]
|
||||
[InlineData("656486 / 5146.0", 127.57209483)]
|
||||
public void Divison(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
var actual = new Script(input).Evaluate<Number>();
|
||||
Assert.Equal(expectedOutput, (double)actual, 8);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace UpsilonTests
|
||||
[InlineData("(10 + 5) * 5", 75)]
|
||||
public void Parenthesis(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
var actual = new Script(input).Evaluate<NumberLong>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace UpsilonTests
|
||||
[InlineData("5 + 10 * 5", 55)]
|
||||
public void MultiplicationBeforeAddition(string input, double expectedOutput)
|
||||
{
|
||||
var actual = new Script(input).Evaluate<NumberDouble>();
|
||||
var actual = new Script(input).Evaluate<NumberLong>();
|
||||
Assert.Equal(expectedOutput, actual, 8);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@ a = 10
|
||||
if true then
|
||||
local a = 100
|
||||
end
|
||||
b = a
|
||||
";
|
||||
var script = new Script(input);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var evaluate = script.Evaluate<NumberLong>();
|
||||
script.Evaluate();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
Assert.Equal((long)10, evaluate);
|
||||
Assert.True(script.Scope.TryGet("a", out var obj));
|
||||
Assert.Equal((long)10, (NumberLong)obj);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -35,9 +35,10 @@ b = a
|
||||
";
|
||||
var script = new Script(input);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var evaluate = script.Evaluate<NumberLong>();
|
||||
script.Evaluate();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
Assert.Equal((long)100, evaluate);
|
||||
Assert.True(script.Scope.TryGet("a", out var obj));
|
||||
Assert.Equal((long)100, (NumberLong)obj);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user