def _test_invariants(self, range_set: RangeSet[int]): self.assertEqual(len(range_set.as_ranges()) == 0, range_set.is_empty()) as_ranges: Sequence[Range[int]] = tuple(range_set.as_ranges()) # test that connected ranges are coalesced for (range_1, range_2) in tile_with_pairs(as_ranges): self.assertFalse(range_1.is_connected(range_2)) for rng in as_ranges: self.assertFalse(rng.is_empty()) # test that the RangeSet's span is the span of all the ranges if as_ranges: self.assertEqual(Range.create_spanning(range_set.as_ranges()), range_set.span) else: with self.assertRaises(ValueError): # pylint: disable=pointless-statement # noinspection PyStatementEffect range_set.span
def test_create_spanning(self) -> None: with self.assertRaisesRegex( ValueError, "Cannot create range from span of empty range collection"): Range.create_spanning([])