public void Test1000Runs() { var cronTemplate = new CronTemplateBuilder().WithEverything().EveryXSeconds(2).Build(); var simpleCronStream = new CronTimeStreamSimple(cronTemplate, _dateTimeRepository.Now()); var reactiveScheduler = new ReactiveScheduler(_dateTimeRepository, _testScheduler, simpleCronStream, true); Logger.LogAction = Console.WriteLine; int callCount = 0; reactiveScheduler.SchedulerObservable.Subscribe(_ => callCount++); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(2000).Ticks); callCount.Should().Be(1000); }
public CronSchedulerStreamReactiveTests() { _dateTimeRepository = new DateTimeRepositoryRx(_testScheduler); var breakTemplate = new CronTemplateBuilder() .WithMinutes(0, 15, 30) .WithHours(9, 14) .WithAllDaysOfMonth() .WithDaysOfWeek(1, 2, 3, 4, 5) .WithAllMonths() .Build(); _simpleStreamBase = new CronTimeStreamSimple(breakTemplate, _dateTimeRepository.Now()); _reactiveScheduler = new ReactiveScheduler( _dateTimeRepository, _testScheduler, _simpleStreamBase); }