mirror of
				https://github.com/Biarity/Sieve.git
				synced 2025-11-04 02:39:00 +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:
		@@ -44,11 +44,8 @@ namespace Sieve.Models
 | 
			
		||||
                        {
 | 
			
		||||
                            Filter = subfilters + filterOpAndVal
 | 
			
		||||
                        };
 | 
			
		||||
                        if (!value.Any(f => f.Names.Any(n => filterTerm.Names.Any(n2 => n2 == n))))
 | 
			
		||||
                        {
 | 
			
		||||
                        value.Add(filterTerm);
 | 
			
		||||
                    }
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        var filterTerm = new TFilterTerm
 | 
			
		||||
 
 | 
			
		||||
@@ -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()
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user