public void ShrinkToTest()
{
TimeInterval timeInterval = new TimeInterval( start, end );
// no shrink
timeInterval.ShrinkTo( new TimeInterval( start.AddMilliseconds( -1 ), end.AddMilliseconds( 1 ) ) );
Assert.AreEqual( timeInterval.Start, start );
Assert.AreEqual( timeInterval.End, end );
// start
DateTime changedStart = start.AddMinutes( 1 );
timeInterval.ShrinkTo( new TimeInterval( changedStart, end ) );
Assert.AreEqual( timeInterval.Start, changedStart );
Assert.AreEqual( timeInterval.End, end );
// end
DateTime changedEnd = end.AddMinutes( -1 );
timeInterval.ShrinkTo( new TimeInterval( changedStart, changedEnd ) );
Assert.AreEqual( timeInterval.Start, changedStart );
Assert.AreEqual( timeInterval.End, changedEnd );
// start/end
changedStart = changedStart.AddMinutes( 1 );
changedEnd = changedEnd.AddMinutes( -1 );
timeInterval.ShrinkTo( new TimeInterval( changedStart, changedEnd ) );
Assert.AreEqual( timeInterval.Start, changedStart );
Assert.AreEqual( timeInterval.End, changedEnd );
}