コード例 #1
0
        public void Can_Paginate1()
        {
            // Arrange
            Mock <ITheaterRepository> mock = new Mock <ITheaterRepository>();

            mock.Setup(t => t.Theaters).Returns(new Theater[] {
                new Theater {
                    TheaterID = 1, TheaterName = "T1"
                },
                new Theater {
                    TheaterID = 2, TheaterName = "T2"
                },
                new Theater {
                    TheaterID = 3, TheaterName = "T3"
                },
                new Theater {
                    TheaterID = 4, TheaterName = "T4"
                },
                new Theater {
                    TheaterID = 5, TheaterName = "T5"
                }
            });

            TheaterController controller = new TheaterController(mock.Object); controller.PageSize = 3;

            // Act
            TheatersListViewModel result = (TheatersListViewModel)controller.List(2).Model;

            // Assert
            Theater[] TheaterArray = result.ToArray();
            Assert.IsTrue(TheaterArray.Length == 2);
            Assert.AreEqual(TheaterArray[0].TheaterName, "T4");
            Assert.AreEqual(TheaterArray[1].TheaterName, "T5");
        }
コード例 #2
0
        public ViewResult List(int page = 1)
        {
            TheatersListViewModel model = new TheatersListViewModel
            {
                Theaters = repository.Theaters
                           .OrderBy(p => p.TheaterID)
                           .Skip((page - 1) * PageSize)
                           .Take(PageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = repository.Theaters.Count()
                }
            };

            return(View(model));
        }
コード例 #3
0
        public void Can_Send_Pagination_View_Model1()
        {
            // Arrange
            Mock <ITheaterRepository> mock = new Mock <ITheaterRepository>();

            mock.Setup(t => t.Theaters).Returns(new Theater[] {
                new Theater {
                    TheaterID = 1, TheaterName = "T1"
                },
                new Theater {
                    TheaterID = 2, TheaterName = "T2"
                },
                new Theater {
                    TheaterID = 3, TheaterName = "T3"
                },
                new Theater {
                    TheaterID = 4, TheaterName = "T4"
                },
                new Theater {
                    TheaterID = 5, TheaterName = "T5"
                }
            });

            // Arrange
            TheaterController controller = new TheaterController(mock.Object);

            controller.PageSize = 3;

            // Act
            TheatersListViewModel result = (TheatersListViewModel)controller.List(2).Model;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 5);
            Assert.AreEqual(pageInfo.TotalPages, 2);
        }