public void GivenMediumSetAndHighPageNumber_ResultsInFinalPageReturned()
        {
            var mapperMock = new Mock <IMapper>();

            mapperMock
            .Setup(x => x.Map <List <PersonDto> >(It.IsAny <List <PersonDto> >()))
            .Returns <List <PersonDto> >(x => {
                return(x);
            });
            var paginationService = new PaginationService(mapperMock.Object);

            var paginatedResults = paginationService.GetPaginatedResults <PersonDto, PersonDto>(mediumList, new PaginationOptions {
                Count      = 10,
                PageNumber = 8,
            });

            paginatedResults.Results.Count().ShouldBe(2);
        }
        public void GivenLargeSetAndNegativePageSize_ResultsInAllBut5Returned()
        {
            var mapperMock = new Mock <IMapper>();

            mapperMock
            .Setup(x => x.Map <List <PersonDto> >(It.IsAny <List <PersonDto> >()))
            .Returns <List <PersonDto> >(x => {
                return(x);
            });
            var paginationService = new PaginationService(mapperMock.Object);

            var paginatedResults = paginationService.GetPaginatedResults <PersonDto, PersonDto>(largeList, new PaginationOptions {
                Count      = -5,
                PageNumber = 1,
            });

            paginatedResults.Results.Count().ShouldBe(largeList.Count() - 5);
        }
        public void GivenSmallSetAndLargeOptions_ResultsInAllReturned()
        {
            var mapperMock = new Mock <IMapper>();

            mapperMock
            .Setup(x => x.Map <List <PersonDto> >(It.IsAny <List <PersonDto> >()))
            .Returns <List <PersonDto> >(x => {
                return(x);
            });
            var paginationService = new PaginationService(mapperMock.Object);

            var paginatedResults = paginationService.GetPaginatedResults <PersonDto, PersonDto>(smallList, new PaginationOptions {
                Count      = 10,
                PageNumber = 1,
            });

            paginatedResults.Results.Count().ShouldBe(smallList.Count());
        }