IntersectsWith() public method

public IntersectsWith ( ITimePeriod test ) : bool
test ITimePeriod
return bool
Exemplo n.º 1
0
        public void TouchingIntervalTest()
        {
            TimeInterval timeInterval1 = new TimeInterval( start, end );
            TimeInterval timeInterval2 = new TimeInterval( end, end.AddHours( 1 ) );

            Assert.AreNotEqual( timeInterval1.GetIntersection( timeInterval2 ), null );
            Assert.AreEqual( timeInterval1.IntersectsWith( timeInterval2 ), true );
            Assert.AreEqual( timeInterval1.GetRelation( timeInterval2 ), PeriodRelation.EndTouching );
            Assert.AreEqual( timeInterval2.GetRelation( timeInterval1 ), PeriodRelation.StartTouching );

            timeInterval1.EndEdge = IntervalEdge.Open;
            Assert.AreEqual( timeInterval1.GetIntersection( timeInterval2 ), null );
            Assert.AreEqual( timeInterval1.IntersectsWith( timeInterval2 ), false );
            Assert.AreEqual( timeInterval1.GetRelation( timeInterval2 ), PeriodRelation.Before );
            Assert.AreEqual( timeInterval2.GetRelation( timeInterval1 ), PeriodRelation.After );

            timeInterval1.EndEdge = IntervalEdge.Closed;
            Assert.AreNotEqual( timeInterval1.GetIntersection( timeInterval2 ), null );
            Assert.AreEqual( timeInterval1.IntersectsWith( timeInterval2 ), true );
            Assert.AreEqual( timeInterval1.GetRelation( timeInterval2 ), PeriodRelation.EndTouching );
            Assert.AreEqual( timeInterval2.GetRelation( timeInterval1 ), PeriodRelation.StartTouching );

            timeInterval2.StartEdge = IntervalEdge.Open;
            Assert.AreEqual( timeInterval1.GetIntersection( timeInterval2 ), null );
            Assert.AreEqual( timeInterval1.IntersectsWith( timeInterval2 ), false );
            Assert.AreEqual( timeInterval1.GetRelation( timeInterval2 ), PeriodRelation.Before );
            Assert.AreEqual( timeInterval2.GetRelation( timeInterval1 ), PeriodRelation.After );

            timeInterval2.StartEdge = IntervalEdge.Closed;
            Assert.AreNotEqual( timeInterval1.GetIntersection( timeInterval2 ), null );
            Assert.AreEqual( timeInterval1.IntersectsWith( timeInterval2 ), true );
            Assert.AreEqual( timeInterval1.GetRelation( timeInterval2 ), PeriodRelation.EndTouching );
            Assert.AreEqual( timeInterval2.GetRelation( timeInterval1 ), PeriodRelation.StartTouching );
        }