public void start_not_running_service_during_service_check() { var service = Substitute.For<IApplicationService, IGuardedService>(); var locator = Substitute.For<IContainer>(); locator.ResolveAll<IApplicationService>().Returns(new[] { service }); var settingsRepos = Substitute.For<ISettingsRepository>(); settingsRepos.IsEnabled(Arg.Any<Type>()).Returns(true); var sut = new ApplicationServiceManager(locator); sut.Settings = settingsRepos; sut.CheckServices(); service.Received().Start(); }
public void stop_running_service_if_its_been_disabled() { var service = Substitute.For<IApplicationService, IGuardedService>(); var locator = Substitute.For<IContainer>(); locator.ResolveAll<IApplicationService>().Returns(new[] { service }); var settingsRepos = Substitute.For<ISettingsRepository>(); settingsRepos.IsEnabled(Arg.Any<Type>()).Returns(false); ((IGuardedService)service).IsRunning.Returns(true); var sut = new ApplicationServiceManager(locator); sut.Settings = settingsRepos; sut.CheckServices(); service.Received().Stop(); }
public void do_not_call_stop_on_closed_services_during_check() { var service = Substitute.For<IApplicationService, IGuardedService>(); var okService = Substitute.For<IApplicationService, IGuardedService>(); var locator = Substitute.For<IContainer>(); var settingsRepos = Substitute.For<ISettingsRepository>(); ((IGuardedService)service).IsRunning.Returns(false); locator.ResolveAll<IApplicationService>().Returns(new[] { service, okService }); settingsRepos.IsEnabled(Arg.Any<Type>()).Returns(true); var sut = new ApplicationServiceManager(locator); sut.Settings = settingsRepos; sut.CheckServices(); okService.DidNotReceive().Stop(); }