code: def test_fillna(self):
      ts = Series(
          [0.0, 1.0, 2.0, 3.0, 4.0],
          index=date_range("2020-01-01", periods=5),
      )
  
      tm.assert_series_equal(ts, ts.fillna(method="ffill"))
  
      ts.iloc[2] = np.nan
  
      exp = Series([0.0, 1.0, 1.0, 3.0, 4.0], index=ts.index)
      tm.assert_series_equal(ts.fillna(method="ffill"), exp)
  
      exp = Series([0.0, 1.0, 3.0, 3.0, 4.0], index=ts.index)
      tm.assert_series_equal(ts.fillna(method="backfill"), exp)
  
      exp = Series([0.0, 1.0, 5.0, 3.0, 4.0], index=ts.index)
      tm.assert_series_equal(ts.fillna(value=5), exp)
  
      msg = "Must specify a fill 'value' or 'method'"
      with pytest.raises(ValueError, match=msg):
          ts.fillna()
  
imports: from datetime import datetime, timedelta, timezone
  import numpy
  import pytest
  import pytz
  from pandas import Categorical, DataFrame, DatetimeIndex, NaT, Period, Series, Timedelta, Timestamp, date_range, isna, timedelta_range
  import pandas._testing
  from pandas.core.arrays import period_array
label_desc: Use image node_id 3 for calling the TestSeriesFillNA obj's underlying member method code with example usage: obj.test_fillna() without return types