code: def test_shift_fill_value(self):
      dti = pd.date_range("2016-01-01", periods=3)
  
      dta = dti._data
      expected = DatetimeArray._from_sequence(np.roll(dta._ndarray, 1))
  
      fv = dta[-1]
      for fill_value in [fv, fv.to_pydatetime(), fv.to_datetime64()]:
          result = dta.shift(1, fill_value=fill_value)
          tm.assert_datetime_array_equal(result, expected)
  
      dta = dta.tz_localize("UTC")
      expected = expected.tz_localize("UTC")
      fv = dta[-1]
      for fill_value in [fv, fv.to_pydatetime()]:
          result = dta.shift(1, fill_value=fill_value)
          tm.assert_datetime_array_equal(result, expected)
  
imports: from __future__ import annotations
  from datetime import timedelta
  import operator
  import numpy
  import pytest
  from pandas._libs.tslibs import tz_compare
  from pandas.core.dtypes.dtypes import DatetimeTZDtype
  import pandas
  import pandas._testing
  from pandas.core.arrays import DatetimeArray, TimedeltaArray
label_desc: Use image node_id 22 for calling the TestDatetimeArray obj's underlying member method code with example usage: obj.test_shift_fill_value() without return types