public void ReturnTrueIfMeetingRunsThroughLunchOnSaturday()
        {
            bool     expected           = true;
            DateTime startDateTime      = DateTime.Parse("7/22/2023 10:00"); // Saturday
            Single   meetingLengthHours = 5.0f;

            var target = new Strategy.Engine();
            var actual = target.ShouldMeetingBeCatered(startDateTime, meetingLengthHours);

            Assert.AreEqual(expected, actual);
        }
        public void ReturnFalseIfMeetingEndsAtStartOfLunchOnSaturday()
        {
            bool     expected           = false;
            DateTime startDateTime      = DateTime.Parse("7/22/2023 08:30"); // Saturday
            Single   meetingLengthHours = 2.0f;

            var target = new Strategy.Engine();
            var actual = target.ShouldMeetingBeCatered(startDateTime, meetingLengthHours);

            Assert.AreEqual(expected, actual);
        }
        public void ReturnFalseIfMeetingStartsAfterLunchOnSunday()
        {
            bool     expected           = false;
            DateTime startDateTime      = DateTime.Parse("7/23/2023 14:00"); // Sunday
            Single   meetingLengthHours = 2.0f;

            var target = new Strategy.Engine();
            var actual = target.ShouldMeetingBeCatered(startDateTime, meetingLengthHours);

            Assert.Equal(expected, actual);
        }
        public void ReturnTrueIfMeetingStartsAtEndOfLunchOnThursday()
        {
            bool     expected           = true;
            DateTime startDateTime      = DateTime.Parse("7/27/2023 12:30"); // Thursday
            Single   meetingLengthHours = 2.0f;

            var target = new Strategy.Engine();
            var actual = target.ShouldMeetingBeCatered(startDateTime, meetingLengthHours);

            Assert.Equal(expected, actual);
        }
        public void ReturnFalseIfMeetingEndsBeforeLunchOnSundayButDuringWeekdayLunchHours()
        {
            var weekdayLunchHours = new Single[] { 11f, 11.5f, 12f };
            var weekendLunchHours = new Single[] { 11.5f, 12.0f, 12.5f, 13f, 13.5f };

            bool     expected           = false;
            DateTime startDateTime      = DateTime.Parse("7/23/2023 09:30"); // Sunday
            Single   meetingLengthHours = 2.0f;

            var target = new Strategy.Engine(weekdayLunchHours, weekendLunchHours);
            var actual = target.ShouldMeetingBeCatered(startDateTime, meetingLengthHours);

            Assert.Equal(expected, actual);
        }