public void adding_working_days_should_not_count_weekends()
        {
            DateTime startDate = new DateTime(2011, 5, 2); //Monday
            DateTime referenceDate = startDate;
            Assert.IsTrue(startDate.DayOfWeek == DayOfWeek.Monday);
            Assert.IsTrue(startDate == referenceDate);

            DateTime startPlus5 = startDate.AddWorkingDays( 5, pt_ci);
            Assert.IsTrue(startPlus5.DayOfWeek == DayOfWeek.Monday);

            DateTime startPlus4 = startDate.AddWorkingDays( 4, pt_ci);
            Assert.IsTrue(startPlus4.DayOfWeek == DayOfWeek.Friday);

            Assert.IsTrue(startDate == referenceDate);
        }
        public void AddWorkingDays_ZeroDays()
        {
            DateTime testDate = new DateTime(2014, 2, 8);

            var result = testDate.AddWorkingDays(0);

            Assert.AreEqual(testDate, result);
        }
        public void AddWorkingDays_MultipleDays()
        {
            DateTime testDate = new DateTime(2014, 2, 8);

            var result = testDate.AddWorkingDays(25);

            Assert.AreEqual(new DateTime(2014, 3, 14), result);
        }
        public void adding_large_number_of_days()
        {
            DateTime startDate = new DateTime(2011, 5, 2); //Monday
            Assert.IsTrue(startDate.DayOfWeek == DayOfWeek.Monday);

            DateTime startPlus60 = startDate.AddWorkingDays(60, foo_ci);
            Assert.IsTrue(startPlus60.DayOfWeek == DayOfWeek.Monday);
        }
        public void adding_zero_working_days_should_return_same_day()
        {
            DateTime startDate = new DateTime(2011, 5, 2); //Monday
            Assert.IsTrue(startDate.DayOfWeek == DayOfWeek.Monday);

            DateTime startPlus0 = startDate.AddWorkingDays( 0, pt_ci);
            Assert.IsTrue(startPlus0.DayOfWeek == DayOfWeek.Monday);
            Assert.IsTrue(startDate == startPlus0);
        }
        public void adding_large_number_of_days()
        {
            DateTime startDate = new DateTime(2011, 5, 2); //Monday
            Assert.IsTrue(startDate.DayOfWeek == DayOfWeek.Monday);

            //we substract 2 working day because in 60 days we get an holiday at 10-6 and another at 23-6
            DateTime startPlus60 = startDate.AddWorkingDays( 60 - 2, pt_ci);
            Assert.IsTrue(startPlus60.DayOfWeek == DayOfWeek.Monday);
        }
Exemplo n.º 7
0
        public void globally_recomended_calculation()
        {
            //Ensure we're running on portuguese context
            Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-PT");

            var friday = new DateTime(2011, 5, 13); // A friday
            var friday_plus_two_working_days = friday.AddWorkingDays(2); // 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 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 simple_calculation()
        {
            var friday = new DateTime(2011,5,13); // A friday
            var friday_plus_two_working_days = friday.AddWorkingDays(2); // friday + 2 working days

            Assert.IsTrue(friday_plus_two_working_days == friday.AddDays(4));
            Assert.IsTrue(friday_plus_two_working_days.DayOfWeek == DayOfWeek.Tuesday);

            //not recomended because the default DateTimeCultureInfo by default is pulled from current CultureInfo
        }
        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 subtracting_working_days_should_not_count_weekends()
        {
            DateTime startDate = new DateTime(2011, 5, 9); //Monday
            DateTime referenceDate = startDate;
            Assert.IsTrue(startDate.DayOfWeek == DayOfWeek.Monday);
            Assert.IsTrue(startDate == referenceDate);

            DateTime startMinus5 = startDate.AddWorkingDays( -5, pt_ci);
            Assert.IsTrue(startMinus5.DayOfWeek == DayOfWeek.Monday);

            DateTime startMinus1 = startDate.AddWorkingDays( -1, pt_ci);
            Assert.IsTrue(startMinus1.DayOfWeek == DayOfWeek.Friday);

            Assert.IsTrue(startDate == referenceDate);
        }
        public void use_holidays_in_calulations()
        {
            DateTime startDate = new DateTime(2011, 4, 21);

            //21-04-2011 - start
            //22-04-2011 - holiday
            //23-04-2011 - saturday
            //24-04-2011 - sunday
            //25-04-2011 - holiday
            //26-04-2011 - end

            DateTime endDate = startDate.AddWorkingDays( 1, pt_ci);
            Assert.IsTrue(endDate == startDate.AddDays(5), "Expecting 26-04-2011 but got " + endDate.ToShortDateString());
        }