Exemplo n.º 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();
		}
Exemplo n.º 2
0
		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();
		}
Exemplo n.º 3
0
		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();
		}