code: def test_group_by_dynamic_lazy(
      every: str | timedelta, tzinfo: ZoneInfo | None
  ) -> None:
      ldf = pl.LazyFrame(
          {
              "time": pl.datetime_range(
                  start=datetime(2021, 12, 16, tzinfo=tzinfo),
                  end=datetime(2021, 12, 16, 2, tzinfo=tzinfo),
                  interval="30m",
                  eager=True,
              ),
              "n": range(5),
          }
      )
      df = (
          ldf.group_by_dynamic("time", every=every, closed="right")
          .agg(
              [
                  pl.col("time").min().alias("time_min"),
                  pl.col("time").max().alias("time_max"),
              ]
          )
          .collect()
      )
      assert sorted(df.rows()) == [
          (
              datetime(2021, 12, 15, 23, 0, tzinfo=tzinfo),
              datetime(2021, 12, 16, 0, 0, tzinfo=tzinfo),
              datetime(2021, 12, 16, 0, 0, tzinfo=tzinfo),
          ),
          (
              datetime(2021, 12, 16, 0, 0, tzinfo=tzinfo),
              datetime(2021, 12, 16, 0, 30, tzinfo=tzinfo),
              datetime(2021, 12, 16, 1, 0, tzinfo=tzinfo),
          ),
          (
              datetime(2021, 12, 16, 1, 0, tzinfo=tzinfo),
              datetime(2021, 12, 16, 1, 30, tzinfo=tzinfo),
              datetime(2021, 12, 16, 2, 0, tzinfo=tzinfo),
          ),
      ]
  
imports: from __future__ import annotations
  import sys
  from datetime import date, datetime, timedelta
  from typing import TYPE_CHECKING, Any
  import numpy
  import pytest
  import polars
  from polars.testing import assert_frame_equal
label_desc: Use image node_id 14 for calling a global function with example usage: test_group_by_dynamic_lazy(every, tzinfo) without return types