code: def test_replace_noop_doesnt_downcast(self):
      # GH#44498
      ser = pd.Series(
          [None, None, pd.Timestamp("2021-12-16 17:31")], dtype=object
      )
      res = ser.replace({np.nan: None})  # should be a no-op
      tm.assert_series_equal(res, ser)
      assert res.dtype == object
  
      # same thing but different calling convention
      res = ser.replace(np.nan, None)
      tm.assert_series_equal(res, ser)
      assert res.dtype == object
  
imports: import re
  import numpy
  import pytest
  from pandas._config import using_pyarrow_string_dtype
  import pandas
  import pandas._testing
  from pandas.core.arrays import IntervalArray
label_desc: Use image node_id 2 for calling the TestSeriesReplace obj's underlying member method code with example usage: obj.test_replace_noop_doesnt_downcast() without return types