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);
        }