public void StartWorkingSession_withOwner_callTemplateMethod() { // arrange: System.Collections.Generic.List <object> mocks = new System.Collections.Generic.List <object>(); Fakes.FakeEnterprise enterprise = MockRepository.GeneratePartialMock <Fakes.FakeEnterprise>(); mocks.Add(enterprise); IPrincipal owner = MockRepository.GenerateStrictMock <IPrincipal>(); mocks.Add(owner); WorkingSessionBase outWorkingSessionBase = null; WorkingSessionBase session = MockRepository.GeneratePartialMock <WorkingSessionBase>("MockWorkingSession", owner); mocks.Add(session); enterprise.Expect(e => e.CallStartWorkingSession(owner, out outWorkingSessionBase)).OutRef(session).Repeat.Once(); IWorkingSession outWorkingSession = null; // act: enterprise.StartWorkingSession(owner, out outWorkingSession); // assert: Assert.IsNotNull(outWorkingSession); Assert.AreSame(session, outWorkingSession); foreach (object m in mocks) { m.VerifyAllExpectations(); } }
public void StartWorkingSession_withoutOwner_throwsArgumentNullException() { // arrange: IEnterprise enterprise = new Fakes.FakeEnterprise(); IWorkingSession session = null; // assert: Assert.Throws <ArgumentNullException>(delegate { enterprise.StartWorkingSession(null, out session); }); Assert.IsNull(session); }