code: def test_date_range_schema_no_upcast2(
      input_time_unit: TimeUnit | None,
      input_time_zone: str | None,
      expected_date_range: list[str],
  ) -> None:
      output_dtype = pl.Date
      interval = "1d"
  
      df = pl.DataFrame(
          {"start": [date(2020, 1, 1)], "end": [date(2020, 1, 3)]}
      ).lazy()
      with pytest.deprecated_call():
          result = df.with_columns(
              pl.date_ranges(
                  pl.col("start"),
                  pl.col("end"),
                  interval=interval,
                  time_unit=input_time_unit,
                  time_zone=input_time_zone,
              ).alias("date_range")
          )
      expected_schema = {
          "start": pl.Date,
          "end": pl.Date,
          "date_range": pl.List(output_dtype),
      }
      assert result.schema == expected_schema
      assert result.collect().schema == expected_schema
  
      expected = pl.DataFrame(
          {
              "start": [date(2020, 1, 1)],
              "end": [date(2020, 1, 3)],
              "date_range": pl.Series(expected_date_range)
              .str.to_datetime(time_unit="ns")
              .implode(),
          }
      ).with_columns(
          pl.col("date_range").explode().cast(output_dtype).implode(),
      )
      assert_frame_equal(result.collect(), expected)
  
imports: from __future__ import annotations
  from datetime import date, datetime
  from typing import TYPE_CHECKING
  import pandas
  import pytest
  import polars
  from polars.testing import assert_frame_equal, assert_series_equal
label_desc: Use image node_id 12 for calling a global function with example usage: test_date_range_schema_no_upcast2(input_time_unit, input_time_zone, expected_date_range) without return types