Esempio n. 1
0
        public void WeeklyByDayTest()
        {
            CswRateInterval r         = new CswRateInterval(_CswResources);
            DateTime        StartDate = new DateTime(2012, 10, 5);
            SortedList      Days      = new SortedList();

            Days.Add(DayOfWeek.Monday, DayOfWeek.Monday);
            Days.Add(DayOfWeek.Wednesday, DayOfWeek.Wednesday);
            Days.Add(DayOfWeek.Friday, DayOfWeek.Friday);
            r.setWeeklyByDay(Days, StartDate);

            Assert.AreEqual(r.getFirst(), StartDate);
            DateTime CurrentDate = StartDate;

            for (Int32 i = 1; i <= 365; i++)
            {
                CurrentDate = CurrentDate.AddDays(1);
                DateTime TargetDate = CurrentDate.AddDays(1);
                while (TargetDate.DayOfWeek != DayOfWeek.Monday &&
                       TargetDate.DayOfWeek != DayOfWeek.Wednesday &&
                       TargetDate.DayOfWeek != DayOfWeek.Friday)
                {
                    TargetDate = TargetDate.AddDays(1);
                }
                Assert.AreEqual(r.getNext(CurrentDate), TargetDate);
            }
        }
Esempio n. 2
0
        public void MonthlyByDateTest()
        {
            CswRateInterval r         = new CswRateInterval(_CswResources);
            DateTime        StartDate = new DateTime(2012, 10, 15);

            r.setMonthlyByDate(1, 15, 10, 2012);
            Assert.AreEqual(r.getFirst(), StartDate);
            DateTime CurrentDate = StartDate;

            for (Int32 i = 1; i <= 24; i++)
            {
                CurrentDate = CurrentDate.AddMonths(1);
                Assert.AreEqual(r.getNext(CurrentDate), CurrentDate.AddMonths(1));
            }
        }
Esempio n. 3
0
        public void HourlyTest()
        {
            CswRateInterval r         = new CswRateInterval(_CswResources);
            DateTime        StartDate = new DateTime(2012, 10, 5);

            for (Int32 h = 1; h < 24; h++)
            {
                r.setHourly(h, StartDate);
                Assert.AreEqual(r.getFirst(), StartDate);
                DateTime CurrentDate = StartDate;
                for (Int32 d = 1; d <= 10; d++)
                {
                    CurrentDate = CurrentDate.AddHours(h);
                    Assert.AreEqual(r.getNext(CurrentDate), CurrentDate.AddHours(h));
                }
            }
        }
Esempio n. 4
0
        public void MonthlyByWeekAndDayTest()
        {
            CswRateInterval r         = new CswRateInterval(_CswResources);
            DateTime        StartDate = new DateTime(2012, 10, 8);

            r.setMonthlyByWeekAndDay(1, 2, DayOfWeek.Monday, 10, 2012);
            Assert.AreEqual(r.getFirst(), StartDate);
            DateTime CurrentDate = StartDate;

            for (Int32 i = 1; i <= 24; i++)
            {
                CurrentDate = CurrentDate.AddMonths(1);
                DateTime TargetDate = CurrentDate;
                while (TargetDate.Day < 15 && TargetDate.DayOfWeek != DayOfWeek.Monday)
                {
                    TargetDate = TargetDate.AddDays(1);
                }
                Assert.AreEqual(r.getNext(CurrentDate.AddDays(-1)), TargetDate);
            }
        }
Esempio n. 5
0
 public DateTime getNextOccuranceAfter(DateTime AfterDateTime)
 {
     return(_RateInterval.getNext(AfterDateTime));
 }//getNextOccuranceAfter()