public void BuildExpression_TitleWithContainsCaseInsensitive_ShouldMatchCount(List <Book> data) { // Arrange var filter = new BookFilter_StringFilter_Title { Title = new StringFilter { Contains = "Ab", Compare = StringComparison.InvariantCultureIgnoreCase } }; // Act var query = data.AsQueryable().ApplyFilter(filter); var result = query.ToList(); // Assert var actualResult = data.AsQueryable().Where(x => x.Title.Contains(filter.Title.Contains, StringComparison.InvariantCultureIgnoreCase)).ToList(); Assert.Equal(actualResult.Count, result.Count); foreach (var item in actualResult) { Assert.Contains(item, result); } }
public void Setup() { var fixture = new Fixture(); books = fixture.Create <List <Book> >().AsQueryable(); readCountFilter = fixture.Create <BookFilter_ReadCount>(); stringFilter = fixture.Create <BookFilter_StringFilter_Title>(); rangeFilter = fixture.Create <BookFilter_RangeOfPage>(); complexFilter = fixture.Create <BookFilterBase>(); }
public void BuildExpression_TitleWithContains_ShouldMatchCount(List <Book> data) { // Arrange var filter = new BookFilter_StringFilter_Title { Title = new StringFilter { Contains = "ab" } }; // Act var query = data.AsQueryable().ApplyFilter(filter); var result = query.ToList(); // Assert var actualResult = data.AsQueryable().Where(x => x.Title.Contains(filter.Title.Contains)).ToList(); Assert.Equal(actualResult.Count, result.Count); foreach (var item in actualResult) { Assert.Contains(item, result); } }