示例#1
0
        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();
        }