public void GetHolidayDateForYearReturnsJanuary2For1Jan2017()
        {
            var newYearsDayRule = new DateBasedPublicHolidayRule()
            {
                PushWeekendValueToMonday = true,
                DayOfMonth  = 1,
                MonthOfYear = 1
            };

            var expected = new DateTime(2017, 1, 2);
            var actual   = newYearsDayRule.GetHolidayDateForYear(2017);

            Assert.Equal(expected, actual);
        }
        public void ValidateReturnsTrueForValidRule()
        {
            var rule = new DateBasedPublicHolidayRule()
            {
                PushWeekendValueToMonday = false,
                DayOfMonth  = 26,
                MonthOfYear = 3
            };

            var expected = true;
            var actual   = new DateBasedPublicHolidayRuleValidator().Validate(rule);

            Assert.Equal(expected, actual);
        }
        public void GetHolidayDateForYearReturnsApril25ForAnzacDay()
        {
            var anzacDayRule = new DateBasedPublicHolidayRule()
            {
                PushWeekendValueToMonday = false,
                DayOfMonth  = 25,
                MonthOfYear = 4
            };

            var expected = new DateTime(2019, 4, 25);
            var actual   = anzacDayRule.GetHolidayDateForYear(2019);

            Assert.Equal(expected, actual);
        }