Files
VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.Tests/ExpressionBinaryNodeTests.cs
Valeriano A.R fa13af7f82 Rearrangements
Migrate to Sdk projects.
Migrate tests to xUnit.
Bump version 0.2.3.
Migrate to NetStandar2.0.
2021-06-13 20:16:59 +02:00

63 lines
1.7 KiB
C#

using Xunit;
namespace VAR.ExpressionEvaluator.Tests
{
public class ExpressionBinaryNodeTests
{
[Fact]
public void ExpressionBinaryNode__Plus()
{
var expr = new ExpressionBinaryNode(
leftNode: new ExpressionNumberNode(10),
rightNode: new ExpressionNumberNode(20),
operation: (a, b) => (decimal)a + (decimal)b
);
var result = expr.Eval(null);
Assert.Equal(30m, result);
}
[Fact]
public void ExpressionBinaryNode__Minus()
{
var expr = new ExpressionBinaryNode(
leftNode: new ExpressionNumberNode(10),
rightNode: new ExpressionNumberNode(20),
operation: (a, b) => (decimal)a - (decimal)b
);
var result = expr.Eval(null);
Assert.Equal(-10m, result);
}
[Fact]
public void ExpressionBinaryNode__Multiply()
{
var expr = new ExpressionBinaryNode(
leftNode: new ExpressionNumberNode(10),
rightNode: new ExpressionNumberNode(20),
operation: (a, b) => (decimal)a * (decimal)b
);
var result = expr.Eval(null);
Assert.Equal(200m, result);
}
[Fact]
public void ExpressionBinaryNode__Division()
{
var expr = new ExpressionBinaryNode(
leftNode: new ExpressionNumberNode(10),
rightNode: new ExpressionNumberNode(5),
operation: (a, b) => (decimal)a / (decimal)b
);
var result = expr.Eval(null);
Assert.Equal(2m, result);
}
}
}