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