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