// ---------------------------------------------------------------------- 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 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 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
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
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() { 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(); }); }
// ---------------------------------------------------------------------- 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; }
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
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
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(); }); }
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 ) ) ); }
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 ) ) ); }
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(); }
public void MaxDateTest() { var daySeeker = new DaySeeker(); var day = daySeeker.FindDay(new DayRange(DateTime.MaxValue.AddDays(-1)), 10); Assert.IsNull(day); }
public void MinDateTest() { var daySeeker = new DaySeeker(); var day = daySeeker.FindDay(new DayRange(DateTime.MinValue), -10); Assert.IsNull(day); }
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 }