public void Should_perform_iterations_until_controller_says_to_stop() { Run(); controller.Received(5).ShouldStillOperateOn(Arg.Any <SchedulerState>()); synchronizer.Received(3).Synchronize(Arg.Any <SchedulerState>()); jobWaiter.Received(2).WaitForNextCompletedJob(Arg.Any <SchedulerState>()); jobHandler.ReceivedCalls().Should().HaveCount(2); jobHandler.Received().HandleCompletedJob(completedTask1, Arg.Any <SchedulerState>()); jobHandler.Received().HandleCompletedJob(completedTask2, Arg.Any <SchedulerState>()); }