Example #1
0
        // ----------------------------------------------------------------------
        public void DaySeekerSample()
        {
            Day start = new Day(new DateTime(2011, 2, 15));

            Console.WriteLine("DaySeeker Start: " + start);
            // > DaySeeker Start: Dienstag; 15.02.2011 | 0.23:59

            CalendarVisitorFilter filter = new CalendarVisitorFilter();

            filter.AddWorkingWeekDays();                  // only working days
            filter.ExcludePeriods.Add(new Week(2011, 9)); // week #9
            Console.WriteLine("DaySeeker Holidays: " + filter.ExcludePeriods[0]);
            // > DaySeeker Holidays: w/c 9 2011; 28.02.2011 - 06.03.2011 | 6.23:59

            DaySeeker daySeeker = new DaySeeker(filter);
            Day       day1      = daySeeker.FindDay(start, 3);    // same working week

            Console.WriteLine("DaySeeker(3): " + day1);
            // > DaySeeker(3): Freitag; 18.02.2011 | 0.23:59

            Day day2 = daySeeker.FindDay(start, 4);               // Saturday -> next Monday

            Console.WriteLine("DaySeeker(4): " + day2);
            // > DaySeeker(4): Montag; 21.02.2011 | 0.23:59

            Day day3 = daySeeker.FindDay(start, 9);               // Holidays -> next Monday

            Console.WriteLine("DaySeeker(9): " + day3);
            // > DaySeeker(9): Montag; 07.03.2011 | 0.23:59
        }         // DaySeekerSample
        public void MinDateTest()
        {
            DaySeeker daySeeker = new DaySeeker();
            Day       day       = daySeeker.FindDay(new Day(DateTime.MinValue), -10);

            Assert.IsNull(day);
        }         // MinDateTest
        public void MaxDateTest()
        {
            DaySeeker daySeeker = new DaySeeker();
            Day       day       = daySeeker.FindDay(new Day(DateTime.MaxValue.AddDays(-1)), 10);

            Assert.IsNull(day);
        }         // MaxDateTest
Example #4
0
        // ----------------------------------------------------------------------
        public DateTime AddBusinessDays1( DateTime startDate, int noOfBusinessDays )
        {
            CalendarVisitorFilter filter = new CalendarVisitorFilter();
            filter.AddWorkingWeekDays();

            DaySeeker seeker = new DaySeeker( filter );
            Day targetDay = seeker.FindDay( new Day( startDate ), noOfBusinessDays );
            return targetDay.Start;
        }
Example #5
0
        public void SeekDirectionTest()
        {
            Day start = new Day( new DateTime( 2011, 2, 15 ) );

            DaySeeker forwardSeeker = new DaySeeker();
            Day day1 = forwardSeeker.FindDay( start, 1 );
            Assert.IsTrue( day1.IsSamePeriod( start.GetNextDay() ) );
            Day day2 = forwardSeeker.FindDay( start, -1 );
            Assert.IsTrue( day2.IsSamePeriod( start.GetPreviousDay() ) );

            DaySeeker backwardSeeker = new DaySeeker( SeekDirection.Backward );
            Day day3 = backwardSeeker.FindDay( start, 1 );
            Assert.IsTrue( day3.IsSamePeriod( start.GetPreviousDay() ) );
            Day day4 = backwardSeeker.FindDay( start, -1 );
            Assert.IsTrue( day4.IsSamePeriod( start.GetNextDay() ) );
        }
        public void SimpleBackwardTest()
        {
            Day start = new Day(new DateTime(2011, 2, 15));

            DaySeeker daySeeker = new DaySeeker(SeekDirection.Backward);
            Day       day1      = daySeeker.FindDay(start, 0);

            Assert.IsTrue(day1.IsSamePeriod(start));

            Day day2 = daySeeker.FindDay(start, 1);

            Assert.IsTrue(day2.IsSamePeriod(start.GetPreviousDay()));

            Day day3 = daySeeker.FindDay(start, 100);

            Assert.IsTrue(day3.IsSamePeriod(start.AddDays(-100)));
        }         // SimpleBackwardTest
        public void SimpleForwardTest()
        {
            Day start = new Day(new DateTime(2011, 2, 15));

            DaySeeker daySeeker = new DaySeeker();
            Day       day1      = daySeeker.FindDay(start, 0);

            Assert.IsTrue(day1.IsSamePeriod(start));

            Day day2 = daySeeker.FindDay(start, 1);

            Assert.IsTrue(day2.IsSamePeriod(start.GetNextDay()));

            Day day3 = daySeeker.FindDay(start, 100);

            Assert.IsTrue(day3.IsSamePeriod(start.AddDays(100)));
        }         // SimpleForwardTest
Example #8
0
        public void SimpleForwardTest() {
            var start = new DayRange();
            var daySeeker = new DaySeeker();

            var day1 = daySeeker.FindDay(start, 0);
            day1.IsSamePeriod(start).Should().Be.True();

            var day2 = daySeeker.FindDay(start, 1);
            day2.IsSamePeriod(start.GetNextDay()).Should().Be.True();

            Enumerable
                .Range(-10, 20)
                .RunEach(i => {
                             var offset = i * 5;
                             var day = daySeeker.FindDay(start, offset);
                             day.IsSamePeriod(start.AddDays(offset)).Should().Be.True();
                         });
        }
Example #9
0
        public void SeekWeekendHolidayTest()
        {
            Day start = new Day( new DateTime( 2011, 2, 15 ) );

            CalendarVisitorFilter filter = new CalendarVisitorFilter();
            filter.AddWorkingWeekDays();
            filter.ExcludePeriods.Add( new Days( 2011, 2, 28, 14 ) );  // 14 days -> week 9 and 10

            DaySeeker daySeeker = new DaySeeker( filter );

            Day day1 = daySeeker.FindDay( start, 3 ); // wtihtin the same working week
            Assert.IsTrue( day1.IsSamePeriod( new Day( 2011, 2, 18 ) ) );

            Day day2 = daySeeker.FindDay( start, 4 ); // saturday -> next monday
            Assert.IsTrue( day2.IsSamePeriod( new Day( 2011, 2, 21 ) ) );

            Day day3 = daySeeker.FindDay( start, 10 ); // holidays -> next monday
            Assert.IsTrue( day3.IsSamePeriod( new Day( 2011, 3, 15 ) ) );
        }
        public void SeekDirectionTest()
        {
            Day start = new Day(new DateTime(2011, 2, 15));

            DaySeeker forwardSeeker = new DaySeeker();
            Day       day1          = forwardSeeker.FindDay(start, 1);

            Assert.IsTrue(day1.IsSamePeriod(start.GetNextDay()));
            Day day2 = forwardSeeker.FindDay(start, -1);

            Assert.IsTrue(day2.IsSamePeriod(start.GetPreviousDay()));

            DaySeeker backwardSeeker = new DaySeeker(SeekDirection.Backward);
            Day       day3           = backwardSeeker.FindDay(start, 1);

            Assert.IsTrue(day3.IsSamePeriod(start.GetPreviousDay()));
            Day day4 = backwardSeeker.FindDay(start, -1);

            Assert.IsTrue(day4.IsSamePeriod(start.GetNextDay()));
        }         // SeekDirectionTest
Example #11
0
        public void SimpleBackwardTest() {
            var start = new DayRange();
            var daySeeker = new DaySeeker(SeekDirection.Backward);


            var day1 = daySeeker.FindDay(start, 0);
            day1.IsSamePeriod(start).Should().Be.True();


            var day2 = daySeeker.FindDay(start, 1);
            day2.IsSamePeriod(start.GetPreviousDay()).Should().Be.True();

            Enumerable
                .Range(-10, 20)
                .RunEach(i => {
                             var offset = i * 5;
                             var day = daySeeker.FindDay(start, offset);
                             day.IsSamePeriod(start.AddDays(-offset)).Should().Be.True();
                         });
        }
        public void SeekWeekendHolidayTest()
        {
            Day start = new Day(new DateTime(2011, 2, 15));

            CalendarVisitorFilter filter = new CalendarVisitorFilter();

            filter.AddWorkingWeekDays();
            filter.ExcludePeriods.Add(new Days(2011, 2, 28, 14));                  // 14 days -> week 9 and 10

            DaySeeker daySeeker = new DaySeeker(filter);

            Day day1 = daySeeker.FindDay(start, 3);               // wtihtin the same working week

            Assert.IsTrue(day1.IsSamePeriod(new Day(2011, 2, 18)));

            Day day2 = daySeeker.FindDay(start, 4);               // saturday -> next monday

            Assert.IsTrue(day2.IsSamePeriod(new Day(2011, 2, 21)));

            Day day3 = daySeeker.FindDay(start, 10);               // holidays -> next monday

            Assert.IsTrue(day3.IsSamePeriod(new Day(2011, 3, 15)));
        } // SeekWeekendHolidayTest
Example #13
0
        public void SeekDirectionTest() {
            var start = new DayRange();

            var daySeeker = new DaySeeker();

            Enumerable
                .Range(-10, 20)
                .RunEach(i => {
                             var offset = i * 5;
                             var day = daySeeker.FindDay(start, offset);
                             day.IsSamePeriod(start.AddDays(offset)).Should().Be.True();
                         });


            var backwardSeeker = new DaySeeker(SeekDirection.Backward);

            Enumerable
                .Range(-10, 20)
                .RunEach(i => {
                             var offset = i * 5;
                             var day = backwardSeeker.FindDay(start, offset);
                             day.IsSamePeriod(start.AddDays(-offset)).Should().Be.True();
                         });
        }
Example #14
0
        public void SimpleForwardTest()
        {
            Day start = new Day( new DateTime( 2011, 2, 15 ) );

            DaySeeker daySeeker = new DaySeeker();
            Day day1 = daySeeker.FindDay( start, 0 );
            Assert.IsTrue( day1.IsSamePeriod( start ) );

            Day day2 = daySeeker.FindDay( start, 1 );
            Assert.IsTrue( day2.IsSamePeriod( start.GetNextDay() ) );

            Day day3 = daySeeker.FindDay( start, 100 );
            Assert.IsTrue( day3.IsSamePeriod( start.AddDays( 100 ) ) );
        }
Example #15
0
        public void SeekWeekendHolidayTest() {
            var start = new DayRange(new DateTime(2011, 2, 15));

            var filter = new CalendarVisitorFilter();
            filter.AddWorkingWeekDays();
            filter.ExcludePeriods.Add(new DayRangeCollection(2011, 2, 27, 14)); // 14 days -> week 9 and 10

            var daySeeker = new DaySeeker(filter);

            var day1 = daySeeker.FindDay(start, 3); // wtihtin the same working week
            day1.IsSamePeriod(new DayRange(2011, 2, 18)).Should().Be.True();

            var day2 = daySeeker.FindDay(start, 4); // 주말(19,20) 제외 21일 월요일
            day2.IsSamePeriod(new DayRange(2011, 2, 21)).Should().Be.True();

            var day3 = daySeeker.FindDay(start, 10); // 2월27일부터 14일간 휴가로 제외 기간을 설정했음.
            day3.IsSamePeriod(new DayRange(2011, 3, 15)).Should().Be.True();
        }
Example #16
0
 public void MaxDateTest() {
     var daySeeker = new DaySeeker();
     var day = daySeeker.FindDay(new DayRange(DateTime.MaxValue.AddDays(-1)), 10);
     Assert.IsNull(day);
 }
Example #17
0
 public void MinDateTest() {
     var daySeeker = new DaySeeker();
     var day = daySeeker.FindDay(new DayRange(DateTime.MinValue), -10);
     Assert.IsNull(day);
 }
Example #18
0
        public void DaySeekerSample()
        {
            Day start = new Day( new DateTime( 2011, 2, 15 ) );
            Console.WriteLine( "DaySeeker Start: " + start );
            // > DaySeeker Start: Dienstag; 15.02.2011 | 0.23:59

            CalendarVisitorFilter filter = new CalendarVisitorFilter();
            filter.AddWorkingWeekDays(); // only working days
            filter.ExcludePeriods.Add( new Week( 2011, 9 ) );  // week #9
            Console.WriteLine( "DaySeeker Holidays: " + filter.ExcludePeriods[ 0 ] );
            // > DaySeeker Holidays: w/c 9 2011; 28.02.2011 - 06.03.2011 | 6.23:59

            DaySeeker daySeeker = new DaySeeker( filter );
            Day day1 = daySeeker.FindDay( start, 3 ); // same working week
            Console.WriteLine( "DaySeeker(3): " + day1 );
            // > DaySeeker(3): Freitag; 18.02.2011 | 0.23:59

            Day day2 = daySeeker.FindDay( start, 4 ); // Saturday -> next Monday
            Console.WriteLine( "DaySeeker(4): " + day2 );
            // > DaySeeker(4): Montag; 21.02.2011 | 0.23:59

            Day day3 = daySeeker.FindDay( start, 9 ); // Holidays -> next Monday
            Console.WriteLine( "DaySeeker(9): " + day3 );
            // > DaySeeker(9): Montag; 07.03.2011 | 0.23:59
        }
Example #19
0
        public void SimpleBackwardTest()
        {
            Day start = new Day( new DateTime( 2011, 2, 15 ) );

            DaySeeker daySeeker = new DaySeeker( SeekDirection.Backward );
            Day day1 = daySeeker.FindDay( start, 0 );
            Assert.IsTrue( day1.IsSamePeriod( start ) );

            Day day2 = daySeeker.FindDay( start, 1 );
            Assert.IsTrue( day2.IsSamePeriod( start.GetPreviousDay() ) );

            Day day3 = daySeeker.FindDay( start, 100 );
            Assert.IsTrue( day3.IsSamePeriod( start.AddDays( -100 ) ) );
        }