public void Should_Return_True_When_List_Hours_Conflict_In_The_Range() { var currentBookingRange = new BookingRange { Year = 2017, Mounth = Month.August, Day = 9, Hours = new List <int> { 10 } }; var bookingRange = new BookingRange { Year = 2017, Mounth = Month.August, Day = 9, Hours = new List <int> { 9, 10, 11 } }; var result = currentBookingRange.IsConflict(bookingRange); Assert.IsTrue(result); }
public bool DoesConflict(BookingRange b, DateTimeOffset start, DateTimeOffset end) { return // Bookings with the same start or end time ((b.StartAt == start || b.EndAt == end) // Bookings overlapping the start of our window of interest || (b.StartAt < start && b.EndAt > start) // Bookings overlapping the end of our window of interest || (b.StartAt < end && b.EndAt > end) // Bookings during our window of interest || (b.StartAt > start && b.EndAt < end)); }
public void Should_Return_False_When_List_Hours_is_Empty() { var currentBookingRange = new BookingRange { Year = 2017, Mounth = Month.August, Day = 9, Hours = new List <int>() }; var bookingRange = new BookingRange { Year = 2017, Mounth = Month.August, Day = 9, Hours = new List <int> { 9, 10, 11 } }; var result = currentBookingRange.IsConflict(bookingRange); Assert.IsFalse(result); }