public Subtract ( System.DateTime start, System.TimeSpan offset, SeekBoundaryMode seekBoundaryMode = SeekBoundaryMode.Next ) : DateTime? | ||
start | System.DateTime | |
offset | System.TimeSpan | |
seekBoundaryMode | SeekBoundaryMode | |
return | DateTime? |
public void PeriodLimitsSubtractTest() { DateTime test = new DateTime( 2011, 4, 30 ); TimeRange timeRange1 = new TimeRange( new DateTime( 2011, 4, 20 ), new DateTime( 2011, 4, 25 ) ); TimeRange timeRange2 = new TimeRange( DateTime.MinValue, new DateTime( 2011, 4, 10 ) ); CalendarDateAdd calendarDateAdd = new CalendarDateAdd(); calendarDateAdd.ExcludePeriods.Add( timeRange1 ); calendarDateAdd.ExcludePeriods.Add( timeRange2 ); Assert.AreEqual( calendarDateAdd.Subtract( test, new TimeSpan( 5, 0, 0, 0 ) ), timeRange1.Start ); Assert.IsNull( calendarDateAdd.Subtract( test, new TimeSpan( 20, 0, 0, 0 ) ) ); }
public void NoPeriodsTest() { DateTime test = new DateTime( 2011, 4, 12 ); CalendarDateAdd calendarDateAdd = new CalendarDateAdd(); Assert.AreEqual( calendarDateAdd.Add( test, TimeSpan.Zero ), test ); Assert.AreEqual( calendarDateAdd.Add( test, new TimeSpan( 1, 0, 0, 0 ) ), test.Add( new TimeSpan( 1, 0, 0, 0 ) ) ); Assert.AreEqual( calendarDateAdd.Add( test, new TimeSpan( -1, 0, 0, 0 ) ), test.Add( new TimeSpan( -1, 0, 0, 0 ) ) ); Assert.AreEqual( calendarDateAdd.Subtract( test, new TimeSpan( 1, 0, 0, 0 ) ), test.Subtract( new TimeSpan( 1, 0, 0, 0 ) ) ); Assert.AreEqual( calendarDateAdd.Subtract( test, new TimeSpan( -1, 0, 0, 0 ) ), test.Subtract( new TimeSpan( -1, 0, 0, 0 ) ) ); }