Esempio n. 1
0
        public void Can_Send_Pagination_View_Model()
        {
            //布置——创建模仿存储库
            Mock<IRoleInfoRepository> mock = new Mock<IRoleInfoRepository>();
            mock.Setup(m => m.RolesInfo).Returns(new RoleInfo[]{    //使用Setup更改RolesInfo的结果,不适用DI,而是用后续的Return返回结果
                new RoleInfo{RoleID = new Guid(), RoleName = "R1",RoleEN="REN1"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R2",RoleEN="REN2"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R3",RoleEN="REN3"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R4",RoleEN="REN4"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R5",RoleEN="REN5"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R6",RoleEN="REN6"}
            }.AsQueryable());

            //布置——创建一个控制器,设置页面大小为3
            RolesController controller = new RolesController(mock.Object) { PageSize = 3 };

            //动作
            RolesInfoViewModel result = (RolesInfoViewModel)controller.List(2).Model;

            //断言
            PagingInfo pageInfo = result.pagingInfo;
            Assert.AreEqual(pageInfo.CurrentPage, 2);
            Assert.AreEqual(pageInfo.ItemsPerPage, 3);
            Assert.AreEqual(pageInfo.TotalItems, 6);
            Assert.AreEqual(pageInfo.TotalPage, 2);
        }
Esempio n. 2
0
        public void Can_Paginate()
        {
            //布置
            //——创建模仿存储库
            Mock<IRoleInfoRepository> mock = new Mock<IRoleInfoRepository>();
            mock.Setup(m => m.RolesInfo).Returns(new RoleInfo[]{    //使用Setup更改RolesInfo的结果,不适用DI,而是用后续的Return返回结果
                new RoleInfo{RoleID = new Guid(), RoleName = "R1",RoleEN="REN1"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R2",RoleEN="REN2"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R3",RoleEN="REN3"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R4",RoleEN="REN4"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R5",RoleEN="REN5"},
                new RoleInfo{RoleID = new Guid(), RoleName = "R6",RoleEN="REN6"}
            }.AsQueryable());

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

            //动作
            RolesInfoViewModel result = (RolesInfoViewModel)controller.List(2).Model;

            //断言
            RoleInfo[] roleArray = result.RolesInfo.ToArray();
            Assert.IsTrue(roleArray.Length == 3);
            Assert.AreEqual(roleArray[0].RoleName, "R4");
            Assert.AreEqual(roleArray[1].RoleName, "R5");
        }