from datetime import UTC, datetime, timedelta import unittest from production_analytics.domain import SourceRange class SourceRangeTests(unittest.TestCase): def test_accepts_ordered_timestamps(self) -> None: start = datetime(2026, 1, 1, tzinfo=UTC) source_range = SourceRange(start=start, end=start + timedelta(minutes=1)) self.assertEqual(source_range.start, start) def test_rejects_reverse_interval(self) -> None: end = datetime(2026, 1, 1, tzinfo=UTC) with self.assertRaisesRegex(ValueError, "must not precede"): SourceRange(start=end + timedelta(seconds=1), end=end)