コード例 #1
0
        public void IsNonWorkingDay_GivenAHolidayAndPassDifferentDate_ReturnsFalse()
        {
            var policy = new HolidayPolicy();

            policy.AddHoliday(new DateTime(2013, 5, 1));
            Assert.That(policy.IsNonWorkingDay(new DateTime(2013, 5, 2)), Is.EqualTo(false));
        }
コード例 #2
0
        public void IsNonWorkingDay_GivenAHolidayAndPassSameDate_ReturnsTrue()
        {
            var policy = new HolidayPolicy();

            policy.AddHoliday(new DateTime(2013, 5, 1));
            Assert.That(policy.IsNonWorkingDay(new DateTime(2013, 5, 1)), Is.EqualTo(true));
        }
コード例 #3
0
 public void SetUp()
 {
     _weekendPolicy = new WeekendPolicy();
     _weekendPolicy.AddWeekend(DayOfWeek.Saturday);
     _weekendPolicy.AddWeekend(DayOfWeek.Sunday);
     _holidayPolicy = new HolidayPolicy();
     _holidayPolicy.AddHoliday(new DateTime(2013, 1, 1));
     _policy = new NonWorkingDayPolicy(_weekendPolicy, _holidayPolicy);
 }
コード例 #4
0
        public void ShiftDate_GivenFirstOfJanuaryAsHolidayAndPassThisDate_ReturnsThirtyFirstOfDecember()
        {
            var holidayPolicy  = new HolidayPolicy();
            var firstOfJanuary = new DateTime(2013, 1, 1);

            holidayPolicy.AddHoliday(firstOfJanuary);
            var dateShiftPolicy       = new BackwardDateShiftPolicy(holidayPolicy);
            var thirtyFirstOfDecember = new DateTime(2012, 12, 31);

            Assert.That(dateShiftPolicy.ShiftDate(firstOfJanuary), Is.EqualTo(thirtyFirstOfDecember));
        }
コード例 #5
0
        public void ShiftDate_GivenFirstOfJanuaryAsHolidayAndPassThisDate_ReturnsSecondOfJanuary()
        {
            var holidayPolicy  = new HolidayPolicy();
            var firstOfJanuary = new DateTime(2013, 1, 1);

            holidayPolicy.AddHoliday(firstOfJanuary);
            var dateShiftPolicy = new ForwardDateShiftPolicy(holidayPolicy);
            var secondOfJanuary = new DateTime(2013, 1, 2);

            Assert.That(dateShiftPolicy.ShiftDate(firstOfJanuary), Is.EqualTo(secondOfJanuary));
        }
コード例 #6
0
        public DefaultScheduleConfigurationFactory()
        {
            _cultureInfo = new CultureInfo("ru-RU");
            var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());

            _container = new CompositionContainer(catalog);
            var weekendPolicy = new WeekendPolicy();

            weekendPolicy.AddWeekend(DayOfWeek.Saturday);
            weekendPolicy.AddWeekend(DayOfWeek.Sunday);
            var holidayPolicy       = new HolidayPolicy();
            var nonWorkingDayPolicy = new NonWorkingDayPolicy(weekendPolicy, holidayPolicy);

            _container.ComposeExportedValue <INonWorkingDayPolicy>(nonWorkingDayPolicy);
        }
コード例 #7
0
        public OctopusScheduleConfigurationFactory(NonWorkingDateSingleton nonWorkingDate)
        {
            var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());

            _container = new CompositionContainer(catalog);
            var weekendPolicy = new WeekendPolicy();

            weekendPolicy.AddWeekend((DayOfWeek)nonWorkingDate.WeekEndDay1);
            weekendPolicy.AddWeekend((DayOfWeek)nonWorkingDate.WeekEndDay2);
            var holidayPolicy = new HolidayPolicy();

            foreach (var pair in nonWorkingDate.PublicHolidays)
            {
                holidayPolicy.AddHoliday(pair.Key);
            }
            var nonWorkingDayPolicy = new NonWorkingDayPolicy(weekendPolicy, holidayPolicy);

            _container.ComposeExportedValue <INonWorkingDayPolicy>(nonWorkingDayPolicy);
        }