public void Initialize_twice_throwsInvalidOperationException() { // arrange: string appName = "SampleApp"; ApplicationBase appSingleton = MockRepository.GeneratePartialMock <ApplicationBase>(appName); ApplicationBase secondSingleton = MockRepository.GeneratePartialMock <ApplicationBase>("test"); // act: Application.Initialize(appSingleton); // assert: Assert.Throws <InvalidOperationException>(delegate { Application.Initialize(secondSingleton); }); appSingleton.VerifyAllExpectations(); }
public void whenInitialized_forwardToApplicationSingleton() { // arrange: string appName = "SampleApp"; EnvironmentBase environment = MockRepository.GenerateStrictMock <EnvironmentBase>(); IEnterprise enterprise = MockRepository.GenerateStrictMock <IEnterprise>(); ApplicationBase appSingleton = MockRepository.GeneratePartialMock <ApplicationBase>(appName); appSingleton.Expect(a => a.Environment).Return(environment).Repeat.Once(); appSingleton.Expect(a => a.Enterprise).Return(enterprise).Repeat.Once(); // act: Application.Initialize(appSingleton); // assert: Assert.AreEqual(appName, Application.Name); Assert.AreSame(environment, Application.Environment); Assert.AreSame(enterprise, Application.Enterprise); appSingleton.VerifyAllExpectations(); }