public Scheduler( [NotNull] IStateSynchronizer synchronizer, [NotNull] IFlowController controller, [NotNull] IJobWaiter jobWaiter, [NotNull] IJobHandler jobHandler) { this.synchronizer = synchronizer; this.controller = controller; this.jobWaiter = jobWaiter; this.jobHandler = jobHandler; }
public void TestSetup() { synchronizer = Substitute.For <IStateSynchronizer>(); controller = Substitute.For <IFlowController>(); controller.ShouldStillOperateOn(Arg.Any <SchedulerState>()).Returns(true, true, true, true, false); // 2 iterations completedTask1 = Task.FromResult(true); completedTask2 = Task.FromResult(true); jobWaiter = Substitute.For <IJobWaiter>(); jobWaiter .WaitForNextCompletedJob(Arg.Any <SchedulerState>()) .Returns(completedTask1, completedTask2); jobHandler = Substitute.For <IJobHandler>(); scheduler = new Hercules.Client.Sink.Scheduler.Scheduler(synchronizer, controller, jobWaiter, jobHandler); }