def test_simple_overlapping(): x = [Interval(10, 20), Interval(19, 35)] groups = group_overlapping_intervals(x) eq_(len(groups), 1) y = groups[0] eq_(y.start, 10) eq_(y.end, 35) eq_(y.intervals, x)
def test_simple_overlapping_given_leeway(): x = [Interval(10, 20), Interval(25, 35)] groups = group_overlapping_intervals(x, leeway=5) eq_(len(groups), 1) y = groups[0] eq_(y.start, 10) eq_(y.end, 35) eq_(y.intervals, x)
def test_single_Interval(): x = [Interval(10, 20)] groups = group_overlapping_intervals(x) eq_(len(groups), 1) z = groups[0] eq_(z.start, 10) eq_(z.end, 20) eq_(z.intervals, x)
def test_allowed_gaps(): x = [Interval(10, 20), Interval(30, 35)] gaps = [Interval(20, 30)] groups = group_overlapping_intervals(x, gaps=gaps) eq_(len(groups), 1) y = groups[0] eq_(y.start, 10) eq_(y.end, 35) eq_(y.intervals, x)
def test_contained_overlap(): x = [Interval(10, 40), Interval(26, 35)] groups = group_overlapping_intervals(x) eq_(len(groups), 1) y = groups[0] eq_(y.start, 10) eq_(y.end, 40) eq_(y.intervals, x) # Same test, but give the intervals out of order x = [Interval(26, 35), Interval(10, 40)] groups = group_overlapping_intervals(x) eq_(len(groups), 1) y = groups[0] eq_(y.start, 10) eq_(y.end, 40) eq_(y.intervals, [x[1], x[0]])
def test_simple_non_overlapping_given_leeway(): x = [Interval(10, 20), Interval(26, 35)] groups = group_overlapping_intervals(x, leeway=5) eq_(len(groups), 2) y = groups[0] eq_(y.start, 10) eq_(y.end, 20) eq_(y.intervals, [x[0]]) z = groups[1] eq_(z.start, 26) eq_(z.end, 35) eq_(z.intervals, [x[1]])
def test_simple_end_to_end(): x = [Interval(10, 20), Interval(21, 35)] groups = group_overlapping_intervals(x) eq_(len(groups), 2) y = groups[0] eq_(y.start, 10) eq_(y.end, 20) eq_(y.intervals, [x[0]]) z = groups[1] eq_(z.start, 21) eq_(z.end, 35) eq_(z.intervals, [x[1]])
def test_empty_intervals_arg(): x = [] z = group_overlapping_intervals(x) eq_(z, None)