code: def test_strict_cast_int(
      value: int,
      from_dtype: pl.PolarsDataType,
      to_dtype: pl.PolarsDataType,
      should_succeed: bool,
      expected_value: Any,
  ) -> None:
      args = [value, from_dtype, to_dtype, True]
      if should_succeed:
          assert _cast_series(*args) == expected_value  # type: ignore[arg-type]
          assert _cast_expr(*args) == expected_value  # type: ignore[arg-type]
          assert _cast_lit(*args) == expected_value  # type: ignore[arg-type]
      else:
          with pytest.raises(pl.exceptions.ComputeError):
              _cast_series(*args)  # type: ignore[arg-type]
          with pytest.raises(pl.exceptions.ComputeError):
              _cast_expr(*args)  # type: ignore[arg-type]
          with pytest.raises(pl.exceptions.ComputeError):
              _cast_lit(*args)
  
imports: from __future__ import annotations
  from datetime import date, datetime, time, timedelta
  from typing import Any
  import pytest
  import polars
  from polars.exceptions import ComputeError
  from polars.testing import assert_frame_equal
  from polars.testing.asserts.series import assert_series_equal
  from polars.utils.convert import MS_PER_SECOND, NS_PER_SECOND, US_PER_SECOND
label_desc: Use image node_id 12 for calling a global function with example usage: test_strict_cast_int(value, from_dtype, to_dtype, should_succeed, expected_value) without return types