public void can_locate_default_strategies() { string name = "foo"; DateTimeCultureInfo workingdayCultureInfo = new DateTimeCultureInfo(name); Assert.IsTrue(name == workingdayCultureInfo.Name); Assert.IsInstanceOf<DefaultHolidayStrategy>(workingdayCultureInfo.LocateHolidayStrategy(name)); Assert.IsInstanceOf<DefaultWorkingDayOfWeekStrategy>(workingdayCultureInfo.LocateWorkingDayOfWeekStrategy(name)); }
public void check_working_day() { var ptWorkingDayCultureInfo = new DateTimeCultureInfo("pt-PT"); var carnationRevolution = new DateTime(2011, 4, 25); var nextDay = carnationRevolution.AddDays(1); Assert.IsTrue(carnationRevolution.IsWorkingDay() == false); Assert.IsTrue(carnationRevolution.DayOfWeek == DayOfWeek.Monday); Assert.IsTrue(nextDay.IsWorkingDay() == true); Assert.IsTrue(nextDay.DayOfWeek == DayOfWeek.Tuesday); }
public void get_year_prior_2012_holidays_in_portugal() { var portugalWorkingDayCultureInfo = new DateTimeCultureInfo("pt-PT"); var today = new DateTime(2010,2,1); var holidays = today.AllYearHolidays(); Assert.IsTrue(holidays.Count == 13, "expecting 13 holidays but got {0}", holidays.Count); foreach (DateTime holidayDate in holidays.Keys) { var holiday = holidays[holidayDate]; Assert.IsTrue(holidayDate.IsWorkingDay(portugalWorkingDayCultureInfo) == false, "holiday {0} shouln't be working day in Portugal", holiday.Name); } }
public void can_provide_custom_locator_dayOfWeek_strategy() { dynamicMockDayOfWeek.ExpectAndReturn("IsWorkingDay", false, new object[] { DayOfWeek.Thursday }); DateTimeCultureInfo workingdayCultureInfo = new DateTimeCultureInfo() { LocateWorkingDayOfWeekStrategy = (n) => { return (IWorkingDayOfWeekStrategy)dynamicMockDayOfWeek.MockInstance; } }; DateTime aThursday = new DateTime(2011, 5, 12); Assert.IsFalse(aThursday.IsWorkingDay(workingdayCultureInfo)); }
public void can_provide_custom_locator_dayOfWeek_strategy() { var mockDayOfWeekStartegy = Substitute.For<IWorkingDayOfWeekStrategy>(); mockDayOfWeekStartegy.IsWorkingDay(Arg.Any<DayOfWeek>()).Returns(false); DateTimeCultureInfo workingdayCultureInfo = new DateTimeCultureInfo() { LocateWorkingDayOfWeekStrategy = (n) => { return mockDayOfWeekStartegy; } }; DateTime aThursday = new DateTime(2011, 5, 12); Assert.IsFalse(aThursday.IsWorkingDay(workingdayCultureInfo)); Assert.IsFalse(aThursday.IsHoliday(workingdayCultureInfo)); mockDayOfWeekStartegy.Received().IsWorkingDay(aThursday.DayOfWeek); }
public void can_provide_custom_locator_holiday_dayOfWeek_strategy() { dynamicMockHoliday.ExpectAndReturn("IsHoliDay", true, new object[] { new DateTime(1991, 3, 1) }); dynamicMockDayOfWeek.ExpectAndReturn("IsWorkingDay", true, new object[] { DayOfWeek.Friday }); dynamicMockDayOfWeek.ExpectAndReturn("IsWorkingDay", true, new object[] { DayOfWeek.Friday }); DateTimeCultureInfo workingdayCultureInfo = new DateTimeCultureInfo() { LocateHolidayStrategy = (n) => { return (IHolidayStrategy)dynamicMockHoliday.MockInstance; }, LocateWorkingDayOfWeekStrategy = (n) => { return (IWorkingDayOfWeekStrategy)dynamicMockDayOfWeek.MockInstance; } }; DateTime marchFirst = new DateTime(1991, 3, 1); Assert.IsFalse(marchFirst.IsWorkingDay(workingdayCultureInfo)); }
public void can_provide_custom_locator_holiday_dayOfWeek_strategy() { var mockHolidayStrategy = Substitute.For<IHolidayStrategy>(); mockHolidayStrategy.IsHoliDay(Arg.Any<DateTime>()).Returns(true); var mockDayOfWeekStartegy = Substitute.For<IWorkingDayOfWeekStrategy>(); mockDayOfWeekStartegy.IsWorkingDay(Arg.Any<DayOfWeek>()).Returns(true); DateTimeCultureInfo workingdayCultureInfo = new DateTimeCultureInfo() { LocateHolidayStrategy = (n) => { return mockHolidayStrategy; }, LocateWorkingDayOfWeekStrategy = (n) => { return mockDayOfWeekStartegy; } }; DateTime marchFirst = new DateTime(1991, 3, 1); Assert.IsTrue(marchFirst.IsHoliday(workingdayCultureInfo)); Assert.IsFalse(marchFirst.IsWorkingDay(workingdayCultureInfo)); mockHolidayStrategy.Received().IsHoliDay(marchFirst); mockDayOfWeekStartegy.Received().IsWorkingDay(marchFirst.DayOfWeek); }
public void holidays() { var ptWorkingDayCultureInfo = new DateTimeCultureInfo("pt-PT"); var enWorkingDayCultureInfo = new DateTimeCultureInfo("default"); var thursday = new DateTime(2011, 4, 21); // A thursday var thursday_plus_two_working_days_pt = thursday.AddWorkingDays(2, ptWorkingDayCultureInfo); // friday + 2 working days on PT var thursday_plus_two_working_days_en = thursday.AddWorkingDays(2, enWorkingDayCultureInfo); // friday + 2 working days on Default //Default doesn't have supported holidays Assert.IsTrue(thursday_plus_two_working_days_en == thursday.AddDays(4)); Assert.IsTrue(thursday_plus_two_working_days_en.DayOfWeek == DayOfWeek.Monday); //Portuguese Holidays are supported Assert.IsTrue(thursday_plus_two_working_days_pt == thursday.AddDays(6)); // + Good Friday (22-4-2011) + Carnation Revolution (25-4-2011) Assert.IsTrue(thursday_plus_two_working_days_pt.DayOfWeek == DayOfWeek.Wednesday); }
public void recomended_calculation() { var workingDayCultureInfo = new DateTimeCultureInfo("pt-PT"); var friday = new DateTime(2011, 5, 13); // A friday var friday_plus_two_working_days = friday.AddWorkingDays(2, workingDayCultureInfo); // friday + 2 working days Assert.IsTrue(friday_plus_two_working_days == friday.AddDays(4)); Assert.IsTrue(friday_plus_two_working_days.DayOfWeek == DayOfWeek.Tuesday); }
public void provide_custom_strategies() { var customWorkingDayCultureInfo = new DateTimeCultureInfo() { LocateHolidayStrategy = (name) => new CustomHolidayStrategy() , LocateWorkingDayOfWeekStrategy = (name) => new CustomeWorkingDayOfWeekStrategy() }; Assert.IsTrue(DateTime.Today.IsWorkingDay(customWorkingDayCultureInfo) == false); Assert.IsTrue(DateTime.Today.AddDays(1).IsWorkingDay(customWorkingDayCultureInfo) == true); }
public static bool IsWorkingDay(this DateTime day) { var workingDayCultureInfo = new DateTimeCultureInfo(); return IsWorkingDay(day, workingDayCultureInfo); }
public static IDictionary<DateTime, Holiday> AllYearHolidays(this DateTime day) { var workingDayCultureInfo = new DateTimeCultureInfo(); return AllYearHolidays(day, workingDayCultureInfo); }
public static IDictionary <DateTime, Holiday> AllYearHolidays(this DateTime day) { var workingDayCultureInfo = new DateTimeCultureInfo(); return(AllYearHolidays(day, workingDayCultureInfo)); }
public static bool IsWorkingDay(this DateTime day) { var workingDayCultureInfo = new DateTimeCultureInfo(); return(IsWorkingDay(day, workingDayCultureInfo)); }