public void Intersection(List <Interval <int> > expected, params ICollection <Interval <int> >[] input) { var output = Intervals.Intersection(input); // Comparison is done on the string representation of intervals in order to handle infinity cases which are // not comparable. Assert.Equal(expected.Select(i => i.ToString()), output.Select(i => i.ToString())); }