Example #1
0
        public void WhenNextTimeIsSmallerThanEndTimeOfDay_GetNextTimeAfter_ReturnsNextTime()
        {
            // Occur every 2 hours from 10:30 to 18:30
            var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 10, 30, 0), EndTimeOfDay = new TimeSpan(0, 18, 30, 0), OccurEveryN = 2, OccurenceType = OccurenceTypes.Hour };

            // Act.
            var result = target.GetNextTimeAfter(new TimeSpan(0, 13, 20, 0));

            // Assert.
            Assert.AreEqual(new TimeSpan(0, 15, 20, 0), result);

            // Occur every 15 min. from 12:00 to 13:00
            target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 12, 0, 0), EndTimeOfDay = new TimeSpan(0, 13, 0, 0), OccurEveryN = 15, OccurenceType = OccurenceTypes.Minute };

            // Act.
            result = target.GetNextTimeAfter(new TimeSpan(0, 12, 45, 0));

            // Assert.
            Assert.AreEqual(new TimeSpan(0, 13, 0, 0), result);

            // Occur every 30 sec. from 10:00 to 10:02
            target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 10, 0, 0), EndTimeOfDay = new TimeSpan(0, 10, 2, 0), OccurEveryN = 30, OccurenceType = OccurenceTypes.Second };

            // Act.
            result = target.GetNextTimeAfter(new TimeSpan(0, 10, 1, 15));

            // Assert.
            Assert.AreEqual(new TimeSpan(0, 10, 1, 45), result);
        }
Example #2
0
        public void WhenAfterTimeIsGreaterThanEndTimeOfDay_GetNextTimeAfter_ReturnsNull()
        {
            // Arrange.
            var afterTime = new TimeSpan(0, 18, 41, 0);
            var startTime = new TimeSpan(0, 10, 30, 0);
            var endTime = new TimeSpan(0, 18, 40, 0);

            var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime };

            // Act.
            var result = target.GetNextTimeAfter(afterTime);

            // Assert.
            Assert.IsNull(result);
        }
Example #3
0
        public void WhenNextTimeIsGreaterThanEndTimeOfDay_GetNextTimeAfter_ReturnsNull()
        {
            // Arrange.
            var afterTime = new TimeSpan(0, 17, 00, 0);
            var startTime = new TimeSpan(0, 10, 30, 0);
            var endTime = new TimeSpan(0, 18, 30, 0);

            // Occur every 2 hours from 10:30 to 18:30
            var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime, OccurEveryN = 2, OccurenceType = OccurenceTypes.Hour };

            // Act.
            var result = target.GetNextTimeAfter(afterTime);

            // Assert.
            Assert.IsNull(result);
        }
Example #4
0
        public void WhenAfterTimeIsSmallerThanStartTimeOfDay_GetNextTimeAfter_ReturnsStartTimeOfDay()
        {
            // Arrange.
            var afterTime = new TimeSpan(0, 10, 29, 0);
            var startTime = new TimeSpan(0, 10, 30, 0);
            var endTime = new TimeSpan(0, 18, 40, 0);

            var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime };

            // Act.
            var result = target.GetNextTimeAfter(afterTime);

            // Assert.
            Assert.AreEqual(startTime, result);
        }