mirror of
https://github.com/Biarity/Sieve.git
synced 2024-11-23 22:12:48 +01:00
Merge pull request #90 from awegg/fix_filter_ordering
Fix issue where the order of Filter expressions changed the result.
This commit is contained in:
commit
9bbc09898e
@ -44,10 +44,7 @@ namespace Sieve.Models
|
||||
{
|
||||
Filter = subfilters + filterOpAndVal
|
||||
};
|
||||
if (!value.Any(f => f.Names.Any(n => filterTerm.Names.Any(n2 => n2 == n))))
|
||||
{
|
||||
value.Add(filterTerm);
|
||||
}
|
||||
value.Add(filterTerm);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -352,6 +352,24 @@ namespace SieveUnitTests
|
||||
Assert.AreEqual(3, entry.Id);
|
||||
}
|
||||
|
||||
[DataTestMethod]
|
||||
[DataRow("CategoryId==1,(CategoryId|LikeCount)==50")]
|
||||
[DataRow("(CategoryId|LikeCount)==50,CategoryId==1")]
|
||||
public void CombinedAndOrFilterIndependentOfOrder(string filter)
|
||||
{
|
||||
var model = new SieveModel()
|
||||
{
|
||||
Filters = filter,
|
||||
};
|
||||
|
||||
var result = _processor.Apply(model, _posts);
|
||||
var entry = result.FirstOrDefault();
|
||||
var resultCount = result.Count();
|
||||
|
||||
Assert.IsNotNull(entry);
|
||||
Assert.AreEqual(1, resultCount);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void OrValueFilteringWorks()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user