123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- from textwrap import dedent
- import pytest
- from pandas.util._decorators import deprecate
- import pandas._testing as tm
- def new_func():
- """
- This is the summary. The deprecate directive goes next.
- This is the extended summary. The deprecate directive goes before this.
- """
- return "new_func called"
- def new_func_no_docstring():
- return "new_func_no_docstring called"
- def new_func_wrong_docstring():
- """Summary should be in the next line."""
- return "new_func_wrong_docstring called"
- def new_func_with_deprecation():
- """
- This is the summary. The deprecate directive goes next.
- .. deprecated:: 1.0
- Use new_func instead.
- This is the extended summary. The deprecate directive goes before this.
- """
- def test_deprecate_ok():
- depr_func = deprecate("depr_func", new_func, "1.0", msg="Use new_func instead.")
- with tm.assert_produces_warning(FutureWarning):
- result = depr_func()
- assert result == "new_func called"
- assert depr_func.__doc__ == dedent(new_func_with_deprecation.__doc__)
- def test_deprecate_no_docstring():
- depr_func = deprecate(
- "depr_func", new_func_no_docstring, "1.0", msg="Use new_func instead."
- )
- with tm.assert_produces_warning(FutureWarning):
- result = depr_func()
- assert result == "new_func_no_docstring called"
- def test_deprecate_wrong_docstring():
- msg = "deprecate needs a correctly formatted docstring"
- with pytest.raises(AssertionError, match=msg):
- deprecate(
- "depr_func", new_func_wrong_docstring, "1.0", msg="Use new_func instead."
- )
|