Fix functions without parameters.
This commit is contained in:
@@ -241,6 +241,19 @@ namespace VAR.ExpressionEvaluator.Tests
|
||||
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
|
||||
|
||||
#region Strings
|
||||
@@ -253,6 +266,14 @@ namespace VAR.ExpressionEvaluator.Tests
|
||||
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]
|
||||
public void Strings__Contatenate_Hello_World_WithVariables()
|
||||
{
|
||||
|
||||
@@ -239,6 +239,8 @@ namespace VAR.ExpressionEvaluator
|
||||
{
|
||||
_tokenizer.NextToken();
|
||||
var parameters = new List<IExpressionNode>();
|
||||
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
parameters.Add(ParseBooleanOp());
|
||||
@@ -249,6 +251,7 @@ namespace VAR.ExpressionEvaluator
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||
{
|
||||
throw new MissingCloseParenthesisException();
|
||||
|
||||
Reference in New Issue
Block a user