示例#1
0
        public void CanAchieve_newRole_callIsAllowedTemplateMethod(bool isAllowed)
        {
            // arrange:
            FakeWorkingSession session = GeneratePartialMock <FakeWorkingSession>();

            session.Expect(s => s.CallIsAllowed <IFakeRole>()).Return(isAllowed).Repeat.Once();

            // act:
            bool canAchieve = session.CanAchieve <IFakeRole>();

            // assert:
            Assert.AreEqual(isAllowed, canAchieve);
        }
示例#2
0
        public void CanAchieve_anAlreadyAchievedRole_dontCallIsAllowedTemplateMethod()
        {
            // arrange:
            FakeRole           roleToReturn = new FakeRole();
            FakeWorkingSession session      = GeneratePartialMock <FakeWorkingSession>();
            IPrincipal         owner        = session.Owner;

            session.Expect(s => s.CallIsAllowed <IFakeRole>()).Return(true).Repeat.Once();
            FakeRoleBuilder <IFakeRole, FakeRole> roleBuilder = GeneratePartialMock <FakeRoleBuilder <IFakeRole, FakeRole> >();

            roleBuilder.Expect(b => b.CallCreateRoleFor(owner)).Return(roleToReturn).Repeat.Once();
            session.Expect(s => s.CallGetRoleBuilder <IFakeRole>()).Return(roleBuilder).Repeat.Once();
            IFakeRole achievedRole1 = null;

            session.Achieve <IFakeRole>(out achievedRole1);

            // act:
            bool canAchieve = session.CanAchieve <IFakeRole>();

            // assert:
            Assert.IsTrue(canAchieve);
        }