public static TemporalIntervalRelation GetTemporalIntervalRelation(this SmallDateInterval x, SmallDateInterval y) { TemporalIntervalRelation relation; if (x.Precedes(y)) { relation = TemporalIntervalRelation.Precedes; } else if (x.Meets(y)) { relation = TemporalIntervalRelation.Meets; } else if (x.OverlapsWith(y)) { relation = TemporalIntervalRelation.OverlapsWith; } else if (x.Starts(y)) { relation = TemporalIntervalRelation.Starts; } else if (x.During(y)) { relation = TemporalIntervalRelation.During; } else if (x.Finishes(y)) { relation = TemporalIntervalRelation.Finishes; } else if (x.IsPrecededBy(y)) { relation = TemporalIntervalRelation.IsPrecededBy; } else if (x.IsMetBy(y)) { relation = TemporalIntervalRelation.IsMetBy; } else if (x.IsOverlappedBy(y)) { relation = TemporalIntervalRelation.IsOverlappedBy; } else if (x.IsStartedBy(y)) { relation = TemporalIntervalRelation.IsStartedBy; } else if (Contains(x, y)) { relation = TemporalIntervalRelation.Contains; } else if (x.IsFinishedBy(y)) { relation = TemporalIntervalRelation.IsFinishedBy; } else if (x.IsEqualTo(y)) { relation = TemporalIntervalRelation.IsEqualTo; } else { throw new InvalidOperationException(); } return(relation); }
public static bool IsFinishedBy(this SmallDateInterval x, SmallDateInterval y) => y.Finishes(x);