Itenso.TimePeriod.TimeInterval.ShrinkTo C# (CSharp) Method

ShrinkTo() public method

public ShrinkTo ( ITimePeriod period ) : void
period ITimePeriod
return void
        public void ShrinkTo( ITimePeriod period )
        {
            if ( period == null )
            {
                throw new ArgumentNullException( "period" );
            }
            ITimeInterval timeInterval = period as ITimeInterval;
            if ( timeInterval != null )
            {
                ShrinkStartTo( timeInterval.StartInterval );
                ShrinkEndTo( timeInterval.EndInterval );
            }
            else
            {
                ShrinkStartTo( period.Start );
                ShrinkEndTo( period.End );
            }
            ShrinkStartTo( period.Start );
        }

Usage Example

Exemplo n.º 1
0
        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 );
        }