From 4eca26dacaccd1aee0c2f96ce679dea86bb6d9b7 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Tue, 3 Dec 2019 10:02:20 +0100 Subject: [PATCH] Tokenizer: Accept "<>" as NotEqual token. --- VAR.ExpressionEvaluator.Tests/ParserTests.cs | 10 +++++++++- VAR.ExpressionEvaluator/Tokenizer.cs | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/VAR.ExpressionEvaluator.Tests/ParserTests.cs b/VAR.ExpressionEvaluator.Tests/ParserTests.cs index 75847fb..38621de 100644 --- a/VAR.ExpressionEvaluator.Tests/ParserTests.cs +++ b/VAR.ExpressionEvaluator.Tests/ParserTests.cs @@ -316,6 +316,14 @@ namespace VAR.ExpressionEvaluator.Tests Assert.AreEqual(true, result); } + [TestMethod()] + public void Relations_10Different1_EqualsTrue() + { + string expression = "10<>1"; + object result = Parser.EvaluateString(expression); + Assert.AreEqual(true, result); + } + [TestMethod()] public void Relations_10LessThan1_EqualsFalse() { @@ -439,7 +447,7 @@ namespace VAR.ExpressionEvaluator.Tests Assert.AreEqual(null, Parser.EvaluateString("100 / null")); Assert.AreEqual(null, Parser.EvaluateString("null / null")); } - + #endregion } } \ No newline at end of file diff --git a/VAR.ExpressionEvaluator/Tokenizer.cs b/VAR.ExpressionEvaluator/Tokenizer.cs index 2c912d4..ab4a4dd 100644 --- a/VAR.ExpressionEvaluator/Tokenizer.cs +++ b/VAR.ExpressionEvaluator/Tokenizer.cs @@ -144,6 +144,11 @@ namespace VAR.ExpressionEvaluator NextChar(); _currentToken = Token.LessOrEqualThan; } + if (_currentChar == '>') + { + NextChar(); + _currentToken = Token.NotEquals; + } return; case '&':