code: def test_timedelta_reduction_ops(data, dtype, reduction_op):
      gsr = cudf.Series(data, dtype=dtype)
      psr = gsr.to_pandas()
  
      if (
          len(psr) > 0
          and psr.isnull().all()
          and reduction_op == "median"
      ):
          with pytest.warns(
              RuntimeWarning, match="Mean of empty slice"
          ):
              expected = getattr(psr, reduction_op)()
      else:
          expected = getattr(psr, reduction_op)()
      actual = getattr(gsr, reduction_op)()
      if pd.isna(expected) and pd.isna(actual):
          pass
      elif isinstance(expected, pd.Timedelta) and isinstance(
          actual, pd.Timedelta
      ):
          assert (
              expected.round(gsr._column.time_unit).value
              == actual.round(gsr._column.time_unit).value
          )
      else:
          assert_eq(expected, actual)
  
imports: import datetime
  import operator
  import cupy
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.testing import _utils
  from cudf.testing._utils import assert_eq, assert_exceptions_equal
label_desc: Use image node_id 14 for calling a global function with example usage: test_timedelta_reduction_ops(data, dtype, reduction_op) without return types