public void FilterByIds_String() { List <String> ids = new List <String> { "9I", "10I" }; IQueryable <TestModel> actual = datalist.FilterByIds(datalist.GetModels(), ids); IQueryable <TestModel> expected = datalist.GetModels().Where(model => ids.Contains(model.Id)); Assert.Equal(expected, actual); }
public void FilterByIds_NoIdProperty_Throws() { TestDatalist <NoIdModel> testDatalist = new TestDatalist <NoIdModel>(); DatalistException exception = Assert.Throws <DatalistException>(() => testDatalist.FilterByIds(null, null)); String expected = $"'{typeof(NoIdModel).Name}' type does not have key or property named 'Id', required for automatic id filtering."; String actual = exception.Message; Assert.Equal(expected, actual); }
public void FilterByIds_IntegerKey() { TestDatalist <NumericModel> testDatalist = new TestDatalist <NumericModel>(); for (Int32 i = 0; i < 20; i++) { testDatalist.Models.Add(new NumericModel { Value = i }); } IQueryable <NumericModel> actual = testDatalist.FilterByIds(testDatalist.GetModels(), new List <String> { "9", "10" }); IQueryable <NumericModel> expected = testDatalist.GetModels().Where(model => new[] { 9, 10 }.Contains(model.Value)); Assert.Equal(expected, actual); }