code: def check_reduce(self, ser: pd.Series, op_name: str, skipna: bool):
      if op_name in ["median", "mean", "std"]:
          alt = ser.astype("int64")
  
          res_op = getattr(ser, op_name)
          exp_op = getattr(alt, op_name)
          result = res_op(skipna=skipna)
          expected = exp_op(skipna=skipna)
          if op_name in ["mean", "median"]:
              # error: Item "dtype[Any]" of "dtype[Any] | ExtensionDtype"
              # has no attribute "tz"
              tz = ser.dtype.tz  # type: ignore[union-attr]
              expected = pd.Timestamp(expected, tz=tz)
          else:
              expected = pd.Timedelta(expected)
          tm.assert_almost_equal(result, expected)
  
      else:
          return super().check_reduce(ser, op_name, skipna)
  
imports: import numpy
  import pytest
  from pandas.core.dtypes.dtypes import DatetimeTZDtype
  import pandas
  import pandas._testing
  from pandas.core.arrays import DatetimeArray
  from pandas.tests.extension import base
label_desc: Use image node_id 7 for calling the TestDatetimeArray obj's underlying member method code with example usage: obj.check_reduce(ser, op_name, skipna) and returns: super