public void TestClosestDayOnAndAfterDay()
        {
            var complexDate = new ClosestDayOfWeek()
            {
                DayOfWeek = DayOfWeek.Monday,
                Inner = new FixedDate() { Day = 29, Month = 1 }
            };

            Assert.AreEqual(new DateTime(2013, 1, 28), complexDate.NextDate(new DateTime(2012, 1, 30)));
            Assert.AreEqual(new DateTime(2014, 1, 27), complexDate.NextDate(new DateTime(2013, 1, 28)));
        }
        public void TestClosestDay()
        {
            var complexDate = new ClosestDayOfWeek()
                              	{
                              		DayOfWeek = DayOfWeek.Monday,
                              		Inner = new FixedDate() {Day = 29, Month = 1}
                              	};

            AssertDates(complexDate.NextDates(new DateTime(2012, 1, 1)),
                new DateTime(2012, 1, 30),
                new DateTime(2013, 1, 28),
                new DateTime(2014, 1, 27),
                new DateTime(2015, 1, 26),
                new DateTime(2016, 2, 1));
        }