Allow case insensitive not equals operator

This commit is contained in:
Steffen Kolmer 2019-11-05 15:10:44 +01:00
parent a643b29491
commit cfd380d93f
3 changed files with 16 additions and 0 deletions

View File

@ -192,6 +192,7 @@ You can replace this DSL with your own (eg. use JSON instead) by implementing an
| `@=*` | Case-insensitive string Contains |
| `_=*` | Case-insensitive string Starts with |
| `==*` | Case-insensitive string Equals |
| `!=*` | Case-insensitive string Not equals |
| `!@=*` | Case-insensitive string does not Contains |
| `!_=*` | Case-insensitive string does not Starts with |

View File

@ -13,6 +13,7 @@ namespace Sieve.Models
private static readonly string[] Operators = new string[] {
"!@=*",
"!_=*",
"!=*",
"!@=",
"!_=",
"==*",

View File

@ -96,6 +96,20 @@ namespace SieveUnitTests
Assert.IsTrue(result.Count() == 1);
}
[TestMethod]
public void NotEqualsCanBeCaseInsensitive()
{
var model = new SieveModel()
{
Filters = "Title!=*a"
};
var result = _processor.Apply(model, _posts);
Assert.AreEqual(result.First().Id, 1);
Assert.IsTrue(result.Count() == 3);
}
[TestMethod]
public void ContainsIsCaseSensitive()
{