Merge pull request #74 from skolmer/caseinsensitive-unequal

Case insensitive not-equal operator
This commit is contained in:
Biarity 2019-11-06 09:04:42 +10:00 committed by GitHub
commit ee10db4baa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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()
{