示例#1
0
        public void EveryDayFor3Days()
        {
            // arrange
            var schedule = new DailySchedule()
            {
                // Every 1 day
                Frequency = 1,

                // From 8AM to 9AM
                Time = new TimeRange { Start = new Time{ Hour = 8, Minute = 0}, End = new Time{ Hour = 9, Minute = 0} },

                // Janury 1st through 3rd
                Duration = new DateRange { Start = new DateTime(2000, 1, 1), End = new DateTime(2000, 1, 3) },

            };

            // act
            var results =  schedule.BuildSchedule();

            //assert
            Assert.IsNotNull(results);
            Assert.AreEqual(3, results.Count());

            Assert.AreEqual(new DateTime(2000, 1, 1, 8, 0, 0), results.ElementAt(0).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 1, 9, 0, 0), results.ElementAt(0).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 2, 8, 0, 0), results.ElementAt(1).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 2, 9, 0, 0), results.ElementAt(1).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 3, 8, 0, 0), results.ElementAt(2).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 3, 9, 0, 0), results.ElementAt(2).AsDateRange().End);
        }
示例#2
0
        public void Every3DaysFor2Weeks()
        {
            // arrange
            var schedule = new DailySchedule()
            {
                // Every 3 days
                Frequency = 3,

                // 8AM -9AM
                Time = new TimeRange { Start = new Time { Hour = 8, Minute = 0 }, End = new Time { Hour = 9, Minute = 0 } },

                // January 1st - 14th
                Duration = new DateRange { Start = new DateTime(2000, 1, 1), End = new DateTime(2000, 1, 14) }

            };

            // act
            var results = schedule.BuildSchedule();

            //assert
            Assert.IsNotNull(results);
            Assert.AreEqual(5, results.Count());

            Assert.AreEqual(new DateTime(2000, 1, 1, 8, 0, 0), results.ElementAt(0).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 1, 9, 0, 0), results.ElementAt(0).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 4, 8, 0, 0), results.ElementAt(1).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 4, 9, 0, 0), results.ElementAt(1).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 7, 8, 0, 0), results.ElementAt(2).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 7, 9, 0, 0), results.ElementAt(2).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 10, 8, 0, 0), results.ElementAt(3).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 10, 9, 0, 0), results.ElementAt(3).AsDateRange().End);

            Assert.AreEqual(new DateTime(2000, 1, 13, 8, 0, 0), results.ElementAt(4).AsDateRange().Start);
            Assert.AreEqual(new DateTime(2000, 1, 13, 9, 0, 0), results.ElementAt(4).AsDateRange().End);
        }