public void ShouldProperlyCheckIsEmpty() { TestFilterViewModel filter = null; Assert.True(filter.IsEmpty()); filter = new TestFilterViewModel(); Assert.True(filter.IsEmpty()); filter.Ids = Enumerable.Empty <int>(); Assert.True(filter.IsEmpty()); filter.Ids = new[] { 1 }; Assert.False(filter.IsEmpty()); filter = new TestFilterViewModel { Enabled = true }; Assert.False(filter.IsEmpty()); filter = new TestFilterViewModel { Name = "test" }; Assert.False(filter.IsEmpty()); var filter2 = new List <TestFilterViewModel>(); Assert.True(filter2.IsEmpty()); }
public void ShouldProperlyFilterBySimpleTypeString() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Id = x, Name = $"Name{x % 2}" }); var filter = new TestFilterViewModel { Name = "0" }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.All(result, x => Assert.Contains(filter.Name, x.Name)); }
public void ShouldProperlyFilterBySimpleType() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Id = x, Enabled = x % 2 == 0 }); var filter = new TestFilterViewModel { Enabled = true }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.All(result, x => Assert.True(x.Enabled)); }
public void ShouldProperlyFilterBySimpleTypeStringEmpty() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Id = x, Name = $"Name{x % 2}" }); var filter = new TestFilterViewModel { Name = "" }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(list.Count(), result.Count); }
public void ShouldProperlyFilterByComputedProperty() { var list = Enumerable.Range(0, 9).Select(x => new ValueViewModel { Id = x, Capacity = 10 * x }); var filter = new TestFilterViewModel { Computed = new long[] { 11, 44, 55 } }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(result.Count, filter.Computed.Count()); Assert.All(result, x => Assert.Contains(x.ComputedProp, filter.Computed)); }
public void ShouldProperlyFilterByString() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Name = $"Name{x}" }); var filter = new TestFilterViewModel { Names = new List <string> { "Name1", "Name5", "Name6" } }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(filter.Names.Count(), result.Count); Assert.All(result, x => Assert.Contains(x.Name, filter.Names)); }
public void ShouldProperlyFilterByMultipleFields() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Id = x, Capacity = 10 - x }); var filter = new TestFilterViewModel { IdCaps = new List <int> { 1, 5, 6 } }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(5, result.Count); Assert.All(result, x => Assert.True(filter.IdCaps.Contains(x.Id) || filter.IdCaps.Contains(x.Capacity))); }
public void ShouldProperlyFilterByInt() { var list = Enumerable.Range(0, 10).Select(x => new ValueViewModel { Id = x }); var filter = new TestFilterViewModel { Ids = new List <int> { 1, 5, 6 } }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(filter.Ids.Count(), result.Count); Assert.All(result, x => Assert.Contains(x.Id, filter.Ids)); }
public void ShouldProperlyFilterByStringNestedEnum() { var list = Enumerable.Range(0, 10) .Select(x => new ValueViewModel { Name = $"Name{x}", ChildEnum = new[] { new ValueViewModel { Name = $"ChildName{x}" } } }); //.Union(new[] { new ValueViewModel { Name = $"Name{20}", ChildEnum = null } }); var filter = new TestFilterViewModel { ChildNameEnums = new[] { "ChildName1", "ChildName5", "ChildName6" } }; var result = list.AsQueryable().FilterBy(filter).ToList(); Assert.Equal(filter.ChildNameEnums.Count(), result.Count); Assert.All(result, x => Assert.Contains(x.ChildEnum, y => filter.ChildNameEnums.Contains(y.Name))); }