public void LastWeekendEveryMonthTest()
        {
            var weekend = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.Last);
            Assert.LessOrEqual(weekend.GetHashCode(), 0);

            var lastWeekendAug2012 = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.Last);
            Assert.IsTrue(weekend.Equals(lastWeekendAug2012));

            var firstWeekendAug2012 = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.First);
            Assert.IsFalse(weekend.Equals(firstWeekendAug2012));

            Assert.IsFalse(weekend.Equals(null));

            Assert.IsFalse(weekend.Equals(1)); // unknown object
        }
        public void ThirdWeekendEveryMonthTest()
        {
            var weekend = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.Third);
            Assert.IsTrue(weekend.GetHashCode().Equals(3));

            var thirdWeekendAug2012 = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.Third);
            Assert.IsTrue(weekend.Equals(thirdWeekendAug2012));

            var firstWeekendAug2012 = new DayInMonthTE(DayOfWeekEnum.Sat | DayOfWeekEnum.Sun, MonthlyIntervalEnum.First);
            Assert.IsFalse(weekend.Equals(firstWeekendAug2012));

            Assert.IsFalse(weekend.Equals(null));
        }