public void HLListPage_ProvidedEmptyList_ShouldPresentEmptyHLListPage() { List <int> items = new List <int>(); HLListPage <int> page = new HLListPage <int>(items, items.Count, 1, items.Count); Assert.That(page.IsEmpty); Assert.That(page.PageSize == HLListPage <int> .DefaultPageSize); Assert.That(page.PageNumber == 1); }
public void HLListPage_ProvidedList_ShouldCalculateNumberOfPages(int items, int pageSize, int expectedPages) { List <int> itemList = new List <int>(); for (int i = 1; i <= items; i++) { itemList.Add(i); } HLListPage <int> page = new HLListPage <int>(itemList, items, 1, pageSize); Assert.AreEqual(expectedPages, page.TotalPages); }
public void HLListPage_ProvidedList_ShouldBePossibleToAccessItViaIEnumerable() { List <int> items = new List <int>(); for (int i = 1; i < 10; i++) { items.Add(i); } HLListPage <int> page = new HLListPage <int>(items, 10, 1, 10); Assert.That(page.All(i => i > 0)); }
/// <summary> /// Return a page of data in cache /// </summary> /// <typeparam name="TOrder"></typeparam> /// <param name="filterFunc"></param> /// <param name="orderFunc"></param> /// <param name="orderDirection"></param> /// <param name="page"></param> /// <param name="pageSize"></param> /// <returns></returns> public HLListPage <TData> FindBy <TOrder>(Func <TData, bool> filterFunc, Func <TData, TOrder> orderFunc = null, OrderDirection orderDirection = OrderDirection.Ascending, int page = 1, int pageSize = 10) { int itemsToSkip = (page < 0 ? 1 : (page - 1)) * pageSize; if (!_isInitialized) { Initialize(); } var query = _data.Values.Where(filterFunc); if (orderFunc != null) { query = orderDirection == OrderDirection.Ascending ? query.OrderBy(orderFunc) : query.OrderByDescending(orderFunc); } var list = query.Skip(itemsToSkip).Take(pageSize).ToList(); var totalCount = _data.Values.Count(filterFunc); HLListPage <TData> dataToReturn = new HLListPage <TData>(list, totalCount, page, pageSize); return(dataToReturn); }
public FacebookPostsViewModel(string pageName, HLListPage <FacebookPost> posts, Url url) : base(url) { Posts = posts; Title = pageName; Description = String.Join(" ", posts.Take(5).Select(p => p.Content)); }
public FacebookPostsViewModel(HLListPage <FacebookPost> posts) { Posts = posts; }
public FacebookPostsViewModel(string pageName, HLListPage <FacebookPost> posts) { Posts = posts; PageTitle = pageName; }