Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 63bc30aa7f | |||
| 44f3d58db4 | |||
| 551da30a7e |
13
.idea/.idea.VAR.ExpressionEvaluator/.idea/.gitignore
generated
vendored
Normal file
13
.idea/.idea.VAR.ExpressionEvaluator/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider ignored files
|
||||
/.idea.VAR.ExpressionEvaluator.iml
|
||||
/modules.xml
|
||||
/contentModel.xml
|
||||
/projectSettingsUpdater.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
4
.idea/.idea.VAR.ExpressionEvaluator/.idea/encodings.xml
generated
Normal file
4
.idea/.idea.VAR.ExpressionEvaluator/.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||
</project>
|
||||
8
.idea/.idea.VAR.ExpressionEvaluator/.idea/indexLayout.xml
generated
Normal file
8
.idea/.idea.VAR.ExpressionEvaluator/.idea/indexLayout.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/.idea.VAR.ExpressionEvaluator/.idea/vcs.xml
generated
Normal file
6
.idea/.idea.VAR.ExpressionEvaluator/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -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
|
||||
@@ -252,6 +265,14 @@ namespace VAR.ExpressionEvaluator.Tests
|
||||
object result = Parser.EvaluateString(expression);
|
||||
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,15 +239,18 @@ namespace VAR.ExpressionEvaluator
|
||||
{
|
||||
_tokenizer.NextToken();
|
||||
var parameters = new List<IExpressionNode>();
|
||||
while (true)
|
||||
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||
{
|
||||
parameters.Add(ParseBooleanOp());
|
||||
if (_tokenizer.Token == Token.Comma)
|
||||
while (true)
|
||||
{
|
||||
_tokenizer.NextToken();
|
||||
continue;
|
||||
parameters.Add(ParseBooleanOp());
|
||||
if (_tokenizer.Token == Token.Comma)
|
||||
{
|
||||
_tokenizer.NextToken();
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (_tokenizer.Token != Token.ParenthesisEnd)
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<PropertyGroup>
|
||||
<PackageId>VAR.ExpressionEvaluator</PackageId>
|
||||
<Title>VAR.ExpressionEvaluator</Title>
|
||||
<Version>0.2.7</Version>
|
||||
<Version>0.2.8</Version>
|
||||
<Description>Expression Evaluation Library</Description>
|
||||
<Authors>VAR</Authors>
|
||||
<Company>VAR</Company>
|
||||
|
||||
Reference in New Issue
Block a user