public void When_the_cycle_completes_we_should_get_an_event() { _startFired = DateTime.MinValue; _completedFired = DateTime.MinValue; MockRepository mocks = new MockRepository(); IServiceAgentAggregator aggregator = mocks.CreateMock<IServiceAgentAggregator>(); ServiceRunner runner = new ServiceRunner(aggregator, null); using (mocks.Record()) { aggregator.ExecuteServiceAgentCycle(); LastCall.On(aggregator).Do(new Action(delegate { Thread.Sleep(50); })); } using (mocks.Playback()) { runner.CycleStarted += runner_CycleStarted; runner.CycleCompleted += runner_CycleCompleted; runner.RunOneCycle(); Assert.IsTrue(_completedFired > _startFired); } mocks.VerifyAll(); }
public void Correctly_handles_when_service_agent_aggregator_throws_exception() { ApplicationException exception = new ApplicationException(); MockRepository mocks = new MockRepository(); IApplicationSettings settings = mocks.CreateMock<IApplicationSettings>(); IServiceAgentAggregator aggregator = mocks.CreateMock<IServiceAgentAggregator>(); IServiceRunner runner = new ServiceRunner(aggregator, settings); using (mocks.Record()) { aggregator.ExecuteServiceAgentCycle(); LastCall.Throw(exception); } using (mocks.Playback()) { runner.Start(); Thread.Sleep(500); runner.Stop(); } mocks.VerifyAll(); }
public void Run_service() { MockRepository mocks = new MockRepository(); IApplicationSettings settings = mocks.CreateMock<IApplicationSettings>(); IServiceAgentAggregator aggregator = mocks.CreateMock<IServiceAgentAggregator>(); IServiceRunner runner = new ServiceRunner(aggregator, settings); using (mocks.Record()) { aggregator.ExecuteServiceAgentCycle(); LastCall.Repeat.Times(2, int.MaxValue); Expect.Call(settings.GetServiceSleepTime()).Return(10); LastCall.Repeat.Times(2, int.MaxValue); } using (mocks.Playback()) { runner.Start(); Thread.Sleep(500); runner.Stop(); } mocks.VerifyAll(); }