code: def test_cron_trigger_next_info_with_interval():
      # Runs every Monday on 16:30, covering the day before the run.
      timetable = CronTriggerTimetable(
          "30 16 * * MON",
          timezone=utc,
          interval=datetime.timedelta(hours=16, minutes=30),
      )
  
      next_info = timetable.next_dagrun_info(
          last_automated_data_interval=DataInterval(
              pendulum.DateTime(2022, 8, 1, tzinfo=utc),
              pendulum.DateTime(2022, 8, 1, 16, 30, tzinfo=utc),
          ),
          restriction=TimeRestriction(
              earliest=START_DATE, latest=None, catchup=True
          ),
      )
      assert next_info == DagRunInfo.interval(
          pendulum.DateTime(2022, 8, 8, tzinfo=utc),
          pendulum.DateTime(2022, 8, 8, 16, 30, tzinfo=utc),
      )
  
file_path: airflow/tests/timetables/test_trigger_timetable.py
imports: from __future__ import annotations
  import datetime
  import typing
  import dateutil.relativedelta
  import pendulum
  import pytest
  import time_machine
  from airflow.exceptions import AirflowTimetableInvalid
  from airflow.timetables.base import DagRunInfo, DataInterval, TimeRestriction
  from airflow.timetables.trigger import CronTriggerTimetable
  from airflow.utils.timezone import utc
label_desc: Use image node_id 4 for calling a global function with example usage: test_cron_trigger_next_info_with_interval() without return types