2 Commits
0.2.5 ... 0.2.6

3 changed files with 20 additions and 4 deletions

View File

@@ -664,7 +664,7 @@ namespace VAR.ExpressionEvaluator.Tests
#endregion String coercions #endregion String coercions
#region Excepctions #region Exceptions
[Fact] [Fact]
public void Exceptions__HelloAtEnd__UnexpectedCharactersAtEndException() public void Exceptions__HelloAtEnd__UnexpectedCharactersAtEndException()
@@ -848,6 +848,22 @@ namespace VAR.ExpressionEvaluator.Tests
} }
#endregion Exceptions
#region Misc
[Fact()]
public void Misc__MixedExpression_EqualsFalse()
{
EvaluationContext evaluationContex = new EvaluationContext();
evaluationContex.SetVariable("QI_86", null);
evaluationContex.SetVariable("QI_87", null);
evaluationContex.SetVariable("QI_104", null);
string expression = "( QI_86 = 0 Or QI_86 = null ) And ( QI_87 = 0 Or QI_87 = null ) And QI_104 > 0";
object result = Parser.EvaluateString(expression, evaluationContex);
Assert.False((bool?)result);
}
#endregion Misc #endregion Misc
} }
} }

View File

@@ -60,7 +60,7 @@ namespace VAR.ExpressionEvaluator
IExpressionNode rightNode = ParseRelations(); IExpressionNode rightNode = ParseRelations();
leftNode = new ExpressionBooleanAndNode(leftNode, rightNode); leftNode = new ExpressionBooleanAndNode(leftNode, rightNode);
} }
if (_tokenizer.Token == Token.Or) else if (_tokenizer.Token == Token.Or)
{ {
_tokenizer.NextToken(); _tokenizer.NextToken();
IExpressionNode rightNode = ParseRelations(); IExpressionNode rightNode = ParseRelations();
@@ -84,7 +84,7 @@ namespace VAR.ExpressionEvaluator
IExpressionNode rightNode = ParsePlusAndMinus(); IExpressionNode rightNode = ParsePlusAndMinus();
leftNode = new ExpressionEqualsNode(leftNode, rightNode); leftNode = new ExpressionEqualsNode(leftNode, rightNode);
} }
if (_tokenizer.Token == Token.ExclusiveEquals) else if (_tokenizer.Token == Token.ExclusiveEquals)
{ {
// TODO: Implement ExpressionExclusiveEqualsNode // TODO: Implement ExpressionExclusiveEqualsNode
_tokenizer.NextToken(); _tokenizer.NextToken();

View File

@@ -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.5</Version> <Version>0.2.6</Version>
<Description>Expression Evaluation Library</Description> <Description>Expression Evaluation Library</Description>
<Authors>VAR</Authors> <Authors>VAR</Authors>
<Company>VAR</Company> <Company>VAR</Company>