code: def test_fillna_datetime(self, datetime_frame):
      tf = datetime_frame
      tf.loc[tf.index[:5], "A"] = np.nan
      tf.loc[tf.index[-5:], "A"] = np.nan
  
      zero_filled = datetime_frame.fillna(0)
      assert (zero_filled.loc[zero_filled.index[:5], "A"] == 0).all()
  
      msg = "DataFrame.fillna with 'method' is deprecated"
      with tm.assert_produces_warning(FutureWarning, match=msg):
          padded = datetime_frame.fillna(method="pad")
      assert np.isnan(padded.loc[padded.index[:5], "A"]).all()
      assert (
          padded.loc[padded.index[-5:], "A"]
          == padded.loc[padded.index[-5], "A"]
      ).all()
  
      msg = "Must specify a fill 'value' or 'method'"
      with pytest.raises(ValueError, match=msg):
          datetime_frame.fillna()
      msg = "Cannot specify both 'value' and 'method'"
      with pytest.raises(ValueError, match=msg):
          datetime_frame.fillna(5, method="ffill")
  
imports: import numpy
  import pytest
  from pandas._config import using_pyarrow_string_dtype
  from pandas import Categorical, DataFrame, DatetimeIndex, NaT, PeriodIndex, Series, TimedeltaIndex, Timestamp, date_range, to_datetime
  import pandas._testing
  from pandas.tests.frame.common import _check_mixed_float
label_desc: Use image node_id 3 for calling the TestFillNA obj's underlying member method code with example usage: obj.test_fillna_datetime(datetime_frame) without return types