from merge_intervals import merge_intervals def test_empty(): assert merge_intervals([]) == [] def test_single(): assert merge_intervals([(1,3)]) == [[1,3]] def test_overlap(): assert merge_intervals([(1,3),(2,4)]) == [[1,4]] def test_disjoint(): assert merge_intervals([(1,2),(4,5)]) == [[1,2],[4,5]] def test_nested(): assert merge_intervals([(1,10),(2,3),(4,5)]) == [[1,10]] def test_touching_default_not_merged(): assert merge_intervals([(1,2),(3,4)]) == [[1,2],[3,4]] def test_touching_merged(): assert merge_intervals([(1,2),(3,4)], merge_touching=True) == [[1,4]] def test_unsorted(): assert merge_intervals([(5,6),(1,2),(2,3)]) == [[1,3],[5,6]] def test_dup(): assert merge_intervals([(1,2),(1,2)]) == [[1,2]] if __name__=="__main__": for n in [x for x in globals() if x.startswith("test_")]: globals()[n]() print("ALL TESTS PASSED") # Run at import time so unittest discover exercises these cases. for n in [x for x in globals() if x.startswith("test_")]: globals()[n]()