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 void SimpleTest2() { var everySecond = new CronTemplateBuilder().WithEverything().EveryXSeconds(2).Build(); var stream = new CronTimeStreamSimple(everySecond, _dateTime); var streamCombination = new CronTimeStreamCombination(_dateTime, stream); foreach (var time in streamCombination.Take(200)) { PrintTime(time); } var results = streamCombination.Take(5).ToList(); results[0].Time.Second.Should().Be(2); results[1].Time.Second.Should().Be(4); results[2].Time.Second.Should().Be(6); results[3].Time.Second.Should().Be(8); results[4].Time.Second.Should().Be(10); }