示例#1
0
        public void ToString()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency(new DateTime(2011, 5, 12), 10, 1, monday: true, tuesday: true);

            Assert.AreEqual("Every week on Mon, Tue from 12 May 2011 for 10 occurrences", weekly.ToString());

            weekly = new WeeklyRecurrency(new DateTime(2011, 5, 12), new DateTime(2011, 7, 12), 2, monday: true, wednesday: true);
            Assert.AreEqual("Every 2 weeks on Mon, Wed from 12 May 2011 until 12 Jul 2011", weekly.ToString());
        }
示例#2
0
        public void GetDayNames()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency(new DateTime(2011, 5, 12), 10, 1, monday: true, tuesday: true);

            Assert.AreEqual("Mon, Tue", weekly.GetDayNames());
            weekly.Days = WeeklyRecurrency.WeekEnd;
            Assert.AreEqual("Sat, Sun", weekly.GetDayNames());
            weekly.Days = WeeklyRecurrency.EveryDay;
            Assert.AreEqual("Mon, Tue, Wed, Thu, Fri, Sat, Sun", weekly.GetDayNames());
        }
示例#3
0
        public void Create_FromPattern()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency("W 20110512 00000000 0156 0050 YNYNYNN");

            Assert.AreEqual(new DateTime(2011, 5, 12), weekly.StartDate);
            Assert.IsNull(weekly.EndDate);
            Assert.AreEqual(156, weekly.Occurrences);
            Assert.AreEqual(50, weekly.Interval);
            Assert.IsTrue(weekly.Monday);
            Assert.IsFalse(weekly.Tuesday);
            Assert.IsTrue(weekly.Wednesday);
            Assert.IsFalse(weekly.Thursday);
            Assert.IsTrue(weekly.Friday);
            Assert.IsFalse(weekly.Saturday);
            Assert.IsFalse(weekly.Sunday);
        }
示例#4
0
        public void GetNext_Every2ndSunday()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency(new DateTime(2011, 4, 3), new DateTime(2011, 5, 1), 2, sunday: true);

            // April 2011
            // M  T  W  T  F  S  S
            //             1  2  3  << 3
            // 4  5  6  7  8  9  10
            // 11 12 13 14 15 16 17 << 17
            // 18 19 20 21 22 23 24
            // 25 26 27 28 29 30    << 1

            Assert.AreEqual(new DateTime(2011, 4, 3), weekly.StartDate);
            Assert.AreEqual(new DateTime(2011, 4, 3), weekly.GetFirstDate());                         // d1
            Assert.AreEqual(new DateTime(2011, 4, 17), weekly.GetNextDate(new DateTime(2011, 4, 4))); // d2
            Assert.AreEqual(new DateTime(2011, 4, 17), weekly.GetNextDate(new DateTime(2011, 4, 10)));
            Assert.AreEqual(new DateTime(2011, 4, 17), weekly.GetNextDate(new DateTime(2011, 4, 16)));
            Assert.AreEqual(new DateTime(2011, 5, 01), weekly.GetNextDate(new DateTime(2011, 4, 17))); // d3
            Assert.AreEqual(new DateTime(2011, 5, 01), weekly.GetNextDate(new DateTime(2011, 4, 18)));
            Assert.AreEqual(new DateTime(2011, 5, 01), weekly.GetNextDate(new DateTime(2011, 4, 30)));

            Assert.IsNull(weekly.GetNextDate(new DateTime(2011, 5, 1)));
        }
示例#5
0
        public void GetPattern()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency("W 20110512 00000000 0156 0050 YNYNYNN");

            Assert.AreEqual("W201105120000000001560050YNYNYNN", weekly.GetPattern());
        }
示例#6
0
        public void GetTypeCode()
        {
            WeeklyRecurrency weekly = new WeeklyRecurrency("W 20110512 00000000 0156 0050 YNYNYNN");

            Assert.AreEqual('W', weekly.GetTypeCode());
        }