Esempio n. 1
0
 private void addRadioButtonsToDictionary()
 {
     m_radioButtonsMethods["radioButtonName"]     = new AlphabeticSort();
     m_radioButtonsMethods["radioButtonPosts"]    = new PostsSort();
     m_radioButtonsMethods["radioButtonCheckIns"] = new CheckInsSort();
     m_radioButtonsMethods["radioButtonPhotos"]   = new PhotosSort();
 }
Esempio n. 2
0
        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);
            }
        }