public void DailyScheduleProvider_IntervalType_Is_FrequencyInterval_Daily()
        {
            //setup
            var aDateTimeNow     = DateTime.Now;
            var startDate        = aDateTimeNow;
            var evalDate         = BuildClock(aDateTimeNow);
            var scheduleProvider = new DailyScheduleProvider(startDate, evalDate);

            //Assert
            Assert.IsTrue(scheduleProvider.IntervalType == FrequencyInterval.Daily);
        }
        public void DailyScheduleProvider_StartDate_25HoursAgo_NextRunTime_23HourAfterNow()
        {
            //       start              Expected
            //  Now-1Day-1Hour   Now  Now+1Day-1Hour
            //_________o__________o_________o______
            //setup
            var aDateTimeNow     = DateTime.Now;
            var startDate        = aDateTimeNow.AddDays(-1).AddHours(-1);
            var expectedResult   = aDateTimeNow.AddDays(1).AddHours(-1);
            var evalDate         = BuildClock(aDateTimeNow);
            var scheduleProvider = new DailyScheduleProvider(startDate, evalDate);

            //Assert
            RunTest(expectedResult, scheduleProvider);
        }
        public void DailyScheduleProvider_StartDate_Yesterday_ExpectedResult_NextRunTime_Tomorrow()
        {
            //       start          Expected
            //      Now-1Day   Now  Now+1Day
            //_________o________o_______o______
            //setup
            var aDateTimeNow     = DateTime.Now;
            var startDate        = aDateTimeNow.AddDays(-1);
            var expectedResult   = aDateTimeNow.AddDays(1);
            var evalDate         = BuildClock(aDateTimeNow);
            var scheduleProvider = new DailyScheduleProvider(startDate, evalDate);

            //Assert
            RunTest(expectedResult, scheduleProvider);
        }