Beispiel #1
0
        public void TestCase(int testIndex, string intervals1, string intervals2, bool expected)
        {
            IInterval <int> interval1 = GetIntervals(intervals1).First();
            IInterval <int> interval2 = GetIntervals(intervals2).First();

            Assert.That(interval1.IsOverlapping(interval2), Is.EqualTo(expected));
        }
Beispiel #2
0
        public static Interval <T> TryGetUnion <T>([CanBeNull] this IInterval <T> interval, [CanBeNull] IInterval <T> other)
            where T : struct, IComparable <T>
        {
            if (interval == null || other == null)
            {
                return(null);
            }

            if (!interval.IsOverlapping(other) && !interval.IsAdjacentTo(other))
            {
                return(null);
            }

            return(Interval.Create(Min(interval.Start, other.Start), Max(interval.End, other.End)));
        }