コード例 #1
0
ファイル: MockTests.cs プロジェクト: Matt2694/Mocking
        public void DoYourOwnLogic2()
        {
            //implement your idea and own logic
            //use mocks
            var nonAdmin = new User()
            {
                UserName = "******", Password = "******"
            };

            var mockLogin = new Mock <ILoginModule>();

            mockLogin.Setup(x => x.Login(nonAdmin))
            .Callback(() => nonAdmin.Rights = Right.None);

            var mock = new Mock <IEmployeeRepository>();

            mock.Setup(m => m.LoadEmployee(1)).Returns(() => new Employee()
            {
                Id = 1, Name = "Peter", Type = "Slave", Wage = 20
            });
            Employee e = mock.Object.LoadEmployee(1);

            mockLogin.Object.Login(nonAdmin);
            nonAdmin.EditEmployeeWage(e, 1000);
        }
コード例 #2
0
ファイル: MockTests.cs プロジェクト: Matt2694/Mocking
        public void AfterLoginAdminCanEditEmployeeWage()
        {
            //Arrange
            var admin = new User()
            {
                UserName = "******", Password = "******"
            };

            var mockLogin = new Mock <ILoginModule>();

            mockLogin.Setup(x => x.Login(admin))
            .Callback(() => { admin.Rights = Right.Full; });

            var mock = new Mock <IEmployeeRepository>();

            mock.Setup(m => m.LoadEmployee(1)).Returns(() => new Employee()
            {
                Id = 1, Name = "Peter", Type = "Slave", Wage = 20
            });
            Employee e = mock.Object.LoadEmployee(1);

            //Act
            mockLogin.Object.Login(admin);
            admin.EditEmployeeWage(e, 1000);

            //Assert
            Assert.AreEqual(1000, e.Wage);
        }