public void ShouldExpandWithinRequestedDatesOnly_Scenario6() { // arrange var schedule = new Schedule { RecurringSchedules = new List <RecurringSchedule> { new RecurringSchedule { MinStartDateTime = new DateTime(2019, 5, 1), MaxEndDateTime = new DateTime(2019, 5, 31), CronPattern = "0 15 * * 1", Duration = TimeSpan.FromHours(1) } } }; //act var sut = new ScheduleService(this.mockLogger.Object); var results = sut.ExpandSchedule(schedule, new DateTime(2019, 4, 27), new DateTime(2019, 5, 24)); //assert Assert.Equal(3, results.Count()); Assert.Equal(15, results.First().StartDateTime.Hour); results = sut.ExpandSchedule(schedule, new DateTime(2019, 4, 27), new DateTime(2019, 5, 31)); Assert.Equal(4, results.Count()); Assert.Equal(15, results.First().StartDateTime.Hour); }
public void ShouldExpandWithinDatesSpecified() { // Act var sut = new ScheduleService(this.mockLogger.Object); var results = sut.ExpandSchedule(MultipleItemSchedule, new DateTime(2019, 1, 1), new DateTime(2019, 5, 18)); // Assert Assert.Single(results); }
public void MultipleRecurringSchedules_ShouldExpandWithinRequestedDatesOnly_NoIntersection() { // Act var sut = new ScheduleService(this.mockLogger.Object); var results = sut.ExpandSchedule(MyMultipleRecurringSchedule, new DateTime(2019, 5, 1), new DateTime(2019, 5, 15)); // Assert Assert.Empty(results); }
public void ShouldCreateMultipleScheduleItemsSpecified() { // Act var sut = new ScheduleService(this.mockLogger.Object); var results = sut.ExpandSchedule(MultipleItemSchedule, new DateTime(2019, 1, 1), new DateTime(2019, 12, 31)); // Assert Assert.NotEmpty(results); Assert.Equal(2, results.Count()); Assert.Equal(15, results.First().StartDateTime.Hour); Assert.Equal(17, results.Skip(1).First().StartDateTime.Hour); }
public void ShouldCreateTheScheduleItemsSpecified() { // Arrange var mySchedule = new Schedule() { ScheduleItems = new List <ScheduleItem> { new ScheduleItem { StartDateTime = new DateTime(2019, 5, 17, 15, 0, 0), EndDateTime = new DateTime(2019, 5, 17, 16, 0, 0) } } }; // Act var sut = new ScheduleService(this.mockLogger.Object); var results = sut.ExpandSchedule(mySchedule, new DateTime(2019, 1, 1), new DateTime(2019, 12, 31)); // assert Assert.Single(results); Assert.Equal(15, results.First().StartDateTime.Hour); }