public void OccurrenceDay() { TemporalExpression te = new TEDayInMonth(3); List<DateTime> dates = te.Occurrences(new DateTime(2010, 6, 1), new DateTime(2011, 6, 5), IntervalPrecision.Days); Assert.AreEqual(13, dates.Count); Assert.AreEqual(new DateTime(2010, 6, 3, 0, 0, 0), dates[0]); Assert.AreEqual(new DateTime(2011, 6, 3, 0, 0, 0), dates[12]); List<DateTime> dates2 = te.Occurrences(new DateTime(2010, 6, 1), 12, IntervalPrecision.Days); Assert.AreEqual(12, dates2.Count); Assert.AreEqual(new DateTime(2010, 6, 3, 0, 0, 0), dates2[0]); Assert.AreEqual(new DateTime(2011, 5, 3, 0, 0, 0), dates2[11]); }
public void TE_DayInMonth() { //single day TEDayInMonth tem = new TEDayInMonth(4); Assert.IsTrue(tem.Includes(new DateTime(2010, 6, 4))); Assert.IsTrue(tem.Includes(new DateTime(2010, 8, 4))); Assert.IsTrue(tem.Includes(new DateTime(2011, 9, 4))); Assert.IsFalse(tem.Includes(new DateTime(2010, 6, 2))); Assert.IsFalse(tem.Includes(new DateTime(2012, 8, 3))); Assert.IsFalse(tem.Includes(new DateTime(1998, 9, 5))); //date param tem = new TEDayInMonth(new DateTime(2012,1,4)); Assert.IsTrue(tem.Includes(new DateTime(2010, 6, 4))); Assert.IsTrue(tem.Includes(new DateTime(2010, 8, 4))); Assert.IsTrue(tem.Includes(new DateTime(2011, 9, 4))); Assert.IsFalse(tem.Includes(new DateTime(2010, 6, 2))); Assert.IsFalse(tem.Includes(new DateTime(2012, 8, 3))); Assert.IsFalse(tem.Includes(new DateTime(1998, 9, 5))); //range TEDayInMonth temr = new TEDayInMonth(5, 10); Assert.IsTrue(temr.Includes(new DateTime(2010, 5, 5))); Assert.IsTrue(temr.Includes(new DateTime(2010, 8, 7))); Assert.IsTrue(temr.Includes(new DateTime(2011, 9, 10))); Assert.IsFalse(temr.Includes(new DateTime(2010, 6, 2))); Assert.IsFalse(temr.Includes(new DateTime(2012, 8, 3))); Assert.IsFalse(temr.Includes(new DateTime(1998, 9, 15))); //negative TEDayInMonth ten = new TEDayInMonth(-4); Assert.IsTrue(ten.Includes(new DateTime(2010, 6, 27))); Assert.IsTrue(ten.Includes(new DateTime(2010, 7, 28))); Assert.IsTrue(ten.Includes(new DateTime(2010, 5, 28))); Assert.IsFalse(ten.Includes(new DateTime(2010, 6, 26))); Assert.IsFalse(ten.Includes(new DateTime(2010, 7, 29))); Assert.IsFalse(ten.Includes(new DateTime(2010, 5, 27))); }