def test_add_infinite_left(self): r = Ranges([Range(0, 10), Range(15, 20)]) r.add(Range(None, 16)) self.assertEqual([Range(None, 20)], r.get_ranges())
def test_add_infinite_right(self): r = Ranges([Range(0, 10), Range(15, 20)]) r.add(Range(5, None)) self.assertEqual([Range(0, None)], r.get_ranges())
def test_add_overlapping_in_middle(self): r = Ranges([Range(0, 10), Range(15, 20)]) r.add(Range(10, 15)) self.assertEqual([Range(0, 20)], r.get_ranges())
def test_add_middle_no_overlap(self): r = Ranges([Range(0, 10), Range(15, 20)]) r.add(Range(12, 13)) self.assertEqual([Range(0, 10), Range(12, 13), Range(15, 20)], r.get_ranges())
def test_add_at_start(self): r = Ranges([Range(15, 20)]) r.add(Range(5, 10)) self.assertEqual([Range(5, 10), Range(15, 20)], r.get_ranges())