public void GivenIsAIntervalWithAStartingtimeOfAndAEndingtimeOf(string startMomentStr, string endMomentStr) { var startMoment = Moment.Parse(startMomentStr); var endMoment = Moment.Parse(endMomentStr); var interval = new Interval(startMoment, endMoment); _intervals.Push(interval); }
public IntervalRelation Compare(Interval intervalToCompare) { Func<Interval, Interval, bool> isNested = (start, end) => (start._startMoment <= end._startMoment && start._endMoment >= end._endMoment); if (intervalToCompare._endMoment < _startMoment || _endMoment < intervalToCompare._startMoment) return IntervalRelation.Disjoint; if (intervalToCompare._endMoment <= _startMoment || _endMoment <= intervalToCompare._startMoment) return IntervalRelation.Touch; if (isNested(this, intervalToCompare) || isNested(intervalToCompare, this)) return IntervalRelation.Nested; return IntervalRelation.Overlap; }