public void ShouldHandleAllDayEvents() { // Cheer 100 artfortheapocalypse 17/07/19 // arrange Schedule theSchedule = new Schedule { ScheduleItems = new List <ScheduleItem> { new ScheduleItem { Name = "Dance Marathon", StartDateTime = new DateTime(2019, 7, 20), EndDateTime = new DateTime(2019, 7, 21), Status = ScheduleStatus.NotAvailable } }, ScheduleExceptions = new List <ScheduleException> { TheWeekend } }; // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(theSchedule, new DateTime(2019, 1, 1), new DateTime(2019, 12, 31)); // assert Assert.Empty(results); }
public void MultipleRecurringSchedules_ShouldExpandWithinRequestedDatesOnly_NoIntersection() { // arrange // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(_MyMultipleRecurringSchedule, new DateTime(2019, 5, 1), new DateTime(2019, 5, 15), _LoggerFactory.CreateLogger("test")); // assert Assert.Empty(results); }
public void ShouldExpandWithinRequestedDatesOnly_Scenario4() { // arrange // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(_MySchedule, new DateTime(2019, 4, 1), new DateTime(2019, 6, 1), _LoggerFactory.CreateLogger("test")); // assert Assert.Equal(4, results.Count()); Assert.Equal(15, results.First().StartDateTime.Hour); }
public void ShouldExpandWithinDelimitedDatesOnly() { // arrange // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(_MySchedule, new DateTime(2019, 1, 1), new DateTime(2019, 12, 31)); // assert Assert.Equal(4, results.Count()); Assert.Equal(15, results.First().StartDateTime.Hour); }
public void ShouldExpandWithinRequestedDatesOnly() { // arrange // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(_MySchedule, new DateTime(2019, 5, 1), new DateTime(2019, 5, 15), _LoggerFactory.CreateLogger("test")); // assert results.Should().HaveCount(2); results.First().StartDateTime.Hour.Should().Be(15); }
public void ShouldExpandWithinDelimitedDatesOnly() { // arrange var testLogger = new XunitLogger(testOutputHelper); // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); testOutputHelper.WriteLine(_MySchedule.RecurringSchedules[0].Duration.TotalHours.ToString()); var results = sut.ExpandSchedule(_MySchedule, new DateTime(2019, 6, 24), new DateTime(2019, 6, 26), testLogger); // assert results.Should().HaveCount(2); results.First().StartDateTime.Hour.Should().Be(0); results.First().EndDateTime.Hour.Should().Be(0); }
public void ShouldRemoveTimeslotsOverTheWeekend() { // Cheer 200 faniereynders 17/07/19 // Cheer 100 devlead 17/07/19 // arrange _MySchedule.ScheduleExceptions.Add(TheWeekend); // act var sut = new Fritz.ResourceManagement.Scheduling.ScheduleManager(); var results = sut.ExpandSchedule(_MySchedule, new DateTime(2019, 1, 1), new DateTime(2019, 12, 31)); // assert Assert.Equal(28, results.Count()); Assert.Equal(12, results.First().StartDateTime.Hour); }