private void addRadioButtonsToDictionary() { m_radioButtonsMethods["radioButtonName"] = new AlphabeticSort(); m_radioButtonsMethods["radioButtonPosts"] = new PostsSort(); m_radioButtonsMethods["radioButtonCheckIns"] = new CheckInsSort(); m_radioButtonsMethods["radioButtonPhotos"] = new PhotosSort(); }
public async Task <IEnumerable <IndexPostViewModel> > OrderByAsync(IEnumerable <IndexPostViewModel> posts, PostsSort sortBy, string username = null) { if (sortBy == PostsSort.Oldest) { return(await posts.OrderBy(p => p.CreatedOn).ToListAsync()); } else if (sortBy == PostsSort.Yours) { return(await posts.Where(p => p.UserEmail == username).ToListAsync()); } // Products SortType.Newest return(await posts.OrderByDescending(p => p.CreatedOn).ToListAsync()); }
public async Task OrderByAsyncShouldReturnOrderedSetByPostsSort() { // Arrange PostsSort newest = PostsSort.Newest; PostsSort oldest = PostsSort.Oldest; PostsSort yours = PostsSort.Yours; var inputList = new List <IndexPostViewModel> { new IndexPostViewModel { Id = 1, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-1), }, new IndexPostViewModel { Id = 2, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-2), }, new IndexPostViewModel { Id = 3, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-3), }, new IndexPostViewModel { Id = 4, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-4), }, new IndexPostViewModel { Id = 5, UserEmail = "Pesho", CreatedOn = DateTime.Now.AddHours(-5), }, new IndexPostViewModel { Id = 6, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-6), }, new IndexPostViewModel { Id = 7, UserEmail = "Pesho", CreatedOn = DateTime.Now.AddHours(-7), }, new IndexPostViewModel { Id = 8, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-8), }, new IndexPostViewModel { Id = 9, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-9), }, new IndexPostViewModel { Id = 10, UserEmail = "dfsdfs", CreatedOn = DateTime.Now.AddHours(-10), }, }; var expectedNewestIds = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, }; var expectedOldestIds = expectedNewestIds.OrderByDescending(e => e).ToArray(); var expectedYoursIds = new int[] { 5, 7, }; var username = "******"; // Act var newestResult = await this.postService.OrderByAsync(inputList, newest); var oldesttResult = await this.postService.OrderByAsync(inputList, oldest); var mineResult = await this.postService.OrderByAsync(inputList, yours, username); // Assert if (newestResult.Count() != expectedNewestIds.Count() || oldesttResult.Count() != expectedOldestIds.Count() || mineResult.Count() != expectedYoursIds.Count()) { Assert.True(false); } for (int i = 0; i < expectedNewestIds.Length; i++) { Assert.True(expectedNewestIds[i] == newestResult.ToList()[i].Id); Assert.True(expectedOldestIds[i] == oldesttResult.ToList()[i].Id); } for (int i = 0; i < expectedYoursIds.Length; i++) { Assert.True(expectedYoursIds[i] == mineResult.ToList()[i].Id); } }