Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 44f3d58db4 | |||
| 551da30a7e |
@@ -241,6 +241,19 @@ namespace VAR.ExpressionEvaluator.Tests
|
|||||||
Assert.Equal(4m, result);
|
Assert.Equal(4m, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Functions__ZeroParameters()
|
||||||
|
{
|
||||||
|
EvaluationContext evaluationContex = new EvaluationContext();
|
||||||
|
evaluationContex.SetFunction("constant", (parameters) =>
|
||||||
|
{
|
||||||
|
return 9m;
|
||||||
|
});
|
||||||
|
string expression = "constant()";
|
||||||
|
object result = Parser.EvaluateString(expression, evaluationContex);
|
||||||
|
Assert.Equal(9m, result);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Functions
|
#endregion Functions
|
||||||
|
|
||||||
#region Strings
|
#region Strings
|
||||||
@@ -253,6 +266,14 @@ namespace VAR.ExpressionEvaluator.Tests
|
|||||||
Assert.Equal("Hello World", result);
|
Assert.Equal("Hello World", result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Strings__Contatenate_Hello_World_SimpleQuotes()
|
||||||
|
{
|
||||||
|
string expression = "'Hello' + ' ' +'World'";
|
||||||
|
object result = Parser.EvaluateString(expression);
|
||||||
|
Assert.Equal("Hello World", result);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Strings__Contatenate_Hello_World_WithVariables()
|
public void Strings__Contatenate_Hello_World_WithVariables()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -239,15 +239,18 @@ namespace VAR.ExpressionEvaluator
|
|||||||
{
|
{
|
||||||
_tokenizer.NextToken();
|
_tokenizer.NextToken();
|
||||||
var parameters = new List<IExpressionNode>();
|
var parameters = new List<IExpressionNode>();
|
||||||
while (true)
|
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||||
{
|
{
|
||||||
parameters.Add(ParseBooleanOp());
|
while (true)
|
||||||
if (_tokenizer.Token == Token.Comma)
|
|
||||||
{
|
{
|
||||||
_tokenizer.NextToken();
|
parameters.Add(ParseBooleanOp());
|
||||||
continue;
|
if (_tokenizer.Token == Token.Comma)
|
||||||
|
{
|
||||||
|
_tokenizer.NextToken();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
if (_tokenizer.Token != Token.ParenthesisEnd)
|
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PackageId>VAR.ExpressionEvaluator</PackageId>
|
<PackageId>VAR.ExpressionEvaluator</PackageId>
|
||||||
<Title>VAR.ExpressionEvaluator</Title>
|
<Title>VAR.ExpressionEvaluator</Title>
|
||||||
<Version>0.2.7</Version>
|
<Version>0.2.8</Version>
|
||||||
<Description>Expression Evaluation Library</Description>
|
<Description>Expression Evaluation Library</Description>
|
||||||
<Authors>VAR</Authors>
|
<Authors>VAR</Authors>
|
||||||
<Company>VAR</Company>
|
<Company>VAR</Company>
|
||||||
|
|||||||
Reference in New Issue
Block a user