コード例 #1
0
 private void CheckEquals(RecurrencyInfo info, MonthlyRecurrency recurrency)
 {
     Assert.AreEqual(recurrency.Interval, info.MonthlyInterval);
     Assert.AreEqual(recurrency.Type, info.MonthlyType);
     Assert.AreEqual(recurrency.Day, info.MonthlyDay);
     Assert.AreEqual(recurrency.DayOfWeek, info.MonthlyDayOfWeek);
     Assert.AreEqual(recurrency.DayIndex, info.MonthlyDayIndex);
 }
コード例 #2
0
        private void SetMonthlyValues(MonthlyRecurrency recurrency)
        {
            MonthlyInterval = recurrency.Interval;

            MonthlyType      = recurrency.Type;
            MonthlyDay       = recurrency.Day;
            MonthlyDayOfWeek = recurrency.DayOfWeek;
            MonthlyDayIndex  = recurrency.DayIndex;
        }
コード例 #3
0
 public void Create_DayOfMonth()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 2, 01), new DateTime(2011, 11, 30), 1, 14);
     Assert.AreEqual(new DateTime(2011, 2, 01), monthly.StartDate);
     Assert.AreEqual(new DateTime(2011, 11, 30), monthly.EndDate);
     Assert.AreEqual(0, monthly.Occurrences);
     Assert.AreEqual(1, monthly.Interval);
     Assert.AreEqual(MonthlyType.MonthDay, monthly.Type);
     Assert.AreEqual(14, monthly.Day);
 }
コード例 #4
0
 public void Create_FromPattern_DayOfMonth()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency("M 20110201 20111130 0000 0001 M 14 0");
     Assert.AreEqual(new DateTime(2011, 2, 01), monthly.StartDate);
     Assert.AreEqual(new DateTime(2011, 11, 30), monthly.EndDate);
     Assert.AreEqual(0, monthly.Occurrences);
     Assert.AreEqual(1, monthly.Interval);
     Assert.AreEqual(MonthlyType.MonthDay, monthly.Type);
     Assert.AreEqual(14, monthly.Day);
 }
コード例 #5
0
 public void Create_FromPattern_DayOfWeek()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency("M 20110201 00000000 0006 0002 W 01 3");
     Assert.AreEqual(new DateTime(2011, 2, 01), monthly.StartDate);
     Assert.IsNull(monthly.EndDate);
     Assert.AreEqual(6, monthly.Occurrences);
     Assert.AreEqual(2, monthly.Interval);
     Assert.AreEqual(MonthlyType.Weekday, monthly.Type);
     Assert.AreEqual(01, monthly.Day);
     Assert.AreEqual(DayOfWeek.Tuesday, monthly.DayOfWeek);
     Assert.AreEqual(3, monthly.Index);
 }
コード例 #6
0
        public void GetFirstDate_DayOfWeek()
        {
            // April 2011          
            // M  T  W  T  F  S  S   
            //             1  2  3  
            // 4  5  6  7  8  9  10 
            // 11 12 13 14 15 16 17 
            // 18 19 20 21 22 23 24 
            // 25 26 27 28 29 30

            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 4, 01), new DateTime(2011, 11, 30), 1, DayOfWeek.Tuesday, DayIndex.Third);
            Assert.AreEqual(new DateTime(2011, 4, 19), monthly.GetFirstDate());
        }
コード例 #7
0
 public void Create_DayOfWeek()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 2, 01), 6, 2, DayOfWeek.Tuesday, DayIndex.Fourth);
     Assert.AreEqual(new DateTime(2011, 2, 01), monthly.StartDate);
     Assert.IsNull(monthly.EndDate);
     Assert.AreEqual(6, monthly.Occurrences);
     Assert.AreEqual(2, monthly.Interval);
     Assert.AreEqual(MonthlyType.Weekday, monthly.Type);
     Assert.AreEqual(DayOfWeek.Tuesday, monthly.DayOfWeek);
     Assert.AreEqual(01, monthly.Day);
     
     Assert.AreEqual(3, monthly.Index);
     Assert.AreEqual(DayIndex.Fourth, monthly.DayIndex);
 }
コード例 #8
0
        private MonthlyRecurrency GetMonthlyRecurrency()
        {
            MonthlyRecurrency monthly = EndDate.HasValue ? new MonthlyRecurrency(StartDate, EndDate.Value, MonthlyInterval, 1)
                                                         : new MonthlyRecurrency(StartDate, Occurrences ?? 1, MonthlyInterval, 1);

            monthly.Type = MonthlyType;
            if (MonthlyType == Recurrency.MonthlyType.MonthDay)
            {
                monthly.Day = MonthlyDay;
            }
            else
            {
                monthly.DayIndex  = MonthlyDayIndex;
                monthly.DayOfWeek = MonthlyDayOfWeek;
            }
            return(monthly);
        }
コード例 #9
0
        public void ToString()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 5, 12), 10, 1, 4 );
            Assert.AreEqual("Every month on the 4th from 12 May 2011 for 10 occurrences", monthly.ToString());

            monthly = new MonthlyRecurrency(new DateTime(2011, 5, 12), new DateTime(2011, 7, 12), 2, DayOfWeek.Wednesday, DayIndex.Second);
            Assert.AreEqual("Every 2 months on the 2nd Wed from 12 May 2011 until 12 Jul 2011", monthly.ToString());
        }
コード例 #10
0
 public void GetFirstDate_DayOfMonth_RollsIntoNextMonth()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 2, 20), new DateTime(2011, 11, 30), 1, 14);
     Assert.AreEqual(new DateTime(2011, 3, 14), monthly.GetFirstDate()); // (2011, 2, 14) is before start date
 }
コード例 #11
0
        public void GetDayOfWeek()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 4, 01), new DateTime(2011, 11, 30), 1, DayOfWeek.Monday, DayIndex.Third);
            monthly.Day = 0;
            Assert.AreEqual(DayOfWeek.Monday, monthly.DayOfWeek);

            monthly.Day = 1;
            Assert.AreEqual(DayOfWeek.Tuesday, monthly.DayOfWeek);

            monthly.Day = 5;
            Assert.AreEqual(DayOfWeek.Saturday, monthly.DayOfWeek);

            monthly.Day = 6;
            Assert.AreEqual(DayOfWeek.Sunday, monthly.DayOfWeek);
        }
コード例 #12
0
 public void GetFirstDate_DayOfMonth()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 2, 01), new DateTime(2011, 11, 30), 1, 14);
     Assert.AreEqual(new DateTime(2011, 2, 14), monthly.GetFirstDate());
 }
コード例 #13
0
        public void GetNextDate_DayOfMonth_Inexact()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 1, 1), 4, 1, 15);
            Assert.AreEqual(new DateTime(2011, 1, 1), monthly.StartDate);
            Assert.AreEqual(new DateTime(2011, 1, 15), monthly.GetFirstDate());
            Assert.AreEqual(new DateTime(2011, 1, 15), monthly.GetNextDate(new DateTime(2011, 1, 1)));
            Assert.AreEqual(new DateTime(2011, 1, 15), monthly.GetNextDate(new DateTime(2011, 1, 14)));

            Assert.AreEqual(new DateTime(2011, 2, 15), monthly.GetNextDate(new DateTime(2011, 1, 15)));
            Assert.AreEqual(new DateTime(2011, 2, 15), monthly.GetNextDate(new DateTime(2011, 1, 16)));
            Assert.AreEqual(new DateTime(2011, 2, 15), monthly.GetNextDate(new DateTime(2011, 2, 14)));

            Assert.AreEqual(new DateTime(2011, 3, 15), monthly.GetNextDate(new DateTime(2011, 2, 15)));
            Assert.AreEqual(new DateTime(2011, 3, 15), monthly.GetNextDate(new DateTime(2011, 2, 16)));
            Assert.AreEqual(new DateTime(2011, 3, 15), monthly.GetNextDate(new DateTime(2011, 3, 14)));

            Assert.AreEqual(new DateTime(2011, 4, 15), monthly.GetNextDate(new DateTime(2011, 3, 15)));
            Assert.AreEqual(new DateTime(2011, 4, 15), monthly.GetNextDate(new DateTime(2011, 3, 16)));
            Assert.AreEqual(new DateTime(2011, 4, 15), monthly.GetNextDate(new DateTime(2011, 4, 14)));

            Assert.IsNull(monthly.GetNextDate(new DateTime(2011, 4, 15)));
        }
コード例 #14
0
 public void GetPattern_DayOfMonth()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency("M 20110201 20111130 0000 0001 M 14 0");
     Assert.AreEqual("M201102012011113000000001M140", monthly.GetPattern());
 }
コード例 #15
0
        public void GetNextDate_DayOfWeek_Inexact()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 4, 01), new DateTime(2011, 11, 30), 3, DayOfWeek.Monday, DayIndex.Third);
            Assert.AreEqual(new DateTime(2011, 4, 1), monthly.StartDate);
            Assert.AreEqual(new DateTime(2011, 4, 18), monthly.GetFirstDate());
            Assert.AreEqual(new DateTime(2011, 4, 18), monthly.GetNextDate(new DateTime(2011, 1, 1)));
            Assert.AreEqual(new DateTime(2011, 4, 18), monthly.GetNextDate(new DateTime(2011, 4, 17)));

            Assert.AreEqual(new DateTime(2011, 7, 18), monthly.GetNextDate(new DateTime(2011, 4, 18)));
            Assert.AreEqual(new DateTime(2011, 7, 18), monthly.GetNextDate(new DateTime(2011, 4, 19)));
            Assert.AreEqual(new DateTime(2011, 7, 18), monthly.GetNextDate(new DateTime(2011, 5, 1)));
            Assert.AreEqual(new DateTime(2011, 7, 18), monthly.GetNextDate(new DateTime(2011, 6, 1)));
            Assert.AreEqual(new DateTime(2011, 7, 18), monthly.GetNextDate(new DateTime(2011, 7, 17)));
        }
コード例 #16
0
 public void GetPattern_DayOfWeek()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency("M 20110201 00000000 0006 0002 W 01 3");
     Assert.AreEqual("M201102010000000000060002W013", monthly.GetPattern());
 }
コード例 #17
0
        public void SetDayOfWeek()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 4, 01), new DateTime(2011, 11, 30), 1, DayOfWeek.Monday, DayIndex.Third);

            monthly.DayOfWeek = DayOfWeek.Monday;
            Assert.AreEqual(0, monthly.Day);
            monthly.DayOfWeek = DayOfWeek.Tuesday;
            Assert.AreEqual(1, monthly.Day);

            monthly.DayOfWeek = DayOfWeek.Saturday;
            Assert.AreEqual(5, monthly.Day);

            monthly.DayOfWeek = DayOfWeek.Sunday;
            Assert.AreEqual(6, monthly.Day);
        }
コード例 #18
0
        public void Constructor_FromMonthly()
        {
            var recurrency = new MonthlyRecurrency(new DateTime(2011, 10, 7), new DateTime(2012, 4, 7), 2, 14) ;
            var info = new RecurrencyInfo(recurrency);

            CheckEquals_Base(info, recurrency);
            CheckEquals(info, recurrency);

            CheckEmpty_Daily(info);
            CheckEmpty_Weekly(info);
            CheckEmpty_Yearly(info);

            Assert.AreEqual(RecurrencyType.Monthly, info.Type);
        }
コード例 #19
0
        public void GetDayText()
        {
            MonthlyRecurrency monthly = new MonthlyRecurrency(new DateTime(2011, 5, 12), 10, 1, 4);
            Assert.AreEqual("4th", monthly.GetDayText());

            monthly = new MonthlyRecurrency(new DateTime(2011, 5, 12), new DateTime(2011, 7, 12), 2, DayOfWeek.Wednesday, DayIndex.Second);
            Assert.AreEqual("2nd Wed", monthly.GetDayText());
        }
コード例 #20
0
 public void GetTypeCode()
 {
     MonthlyRecurrency monthly = new MonthlyRecurrency("M 20110201 00000000 0006 0002 W 01 3");
     Assert.AreEqual('M', monthly.GetTypeCode());
 }
コード例 #21
0
 public void GetType()
 {
     var r = new MonthlyRecurrency(DateTime.Today, dayOfMonth: 3);
     Assert.AreEqual(RecurrencyType.Monthly, r.GetType());
 }
コード例 #22
0
        private void SetMonthlyValues(MonthlyRecurrency recurrency)
        {
            MonthlyInterval = recurrency.Interval;

            MonthlyType = recurrency.Type;
            MonthlyDay = recurrency.Day;
            MonthlyDayOfWeek = recurrency.DayOfWeek;
            MonthlyDayIndex = recurrency.DayIndex;
        }