Files
troupe-standup/wizard-work/beam/test_merge_intervals.py
T

37 lines
1.0 KiB
Python

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]()