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");
        }
        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);
        }