"""Tests of the docstrings module."""
from docstring_parser import DocstringReturns, DocstringStyle
from pyuvdata.docstrings import combine_docstrings
def test_docstrings_combine():
def a(x, y):
"""Do a.
Some long description.
Parameters
----------
x : int
The x parameter.
y : int
The y parameter.
Returns
-------
int
The sum of x and y.
"""
return x + y
@combine_docstrings(a, style=DocstringStyle.NUMPYDOC)
def b(x, y, z):
return a(x, y) + z
assert "Do a." in b.__doc__
assert "Some long description." in b.__doc__
assert "The x parameter." in b.__doc__
assert "The y parameter." in b.__doc__
assert "The z parameter." not in b.__doc__
assert "The sum of x and y." in b.__doc__
@combine_docstrings(a, style=DocstringStyle.NUMPYDOC)
def c(x, y, z):
"""Do c.
Parameters
----------
z : int
The z parameter.
"""
return a(x, y) + z + 1
assert "Do c." in c.__doc__
assert "Do a." not in c.__doc__
assert "Some long description." in c.__doc__
assert "The x parameter." in c.__doc__
assert "The y parameter." in c.__doc__
assert "The z parameter." in c.__doc__
@combine_docstrings(
a, c, exclude=(DocstringReturns,), style=DocstringStyle.NUMPYDOC
)
def d(x, y, z):
"""Do d."""
return 1
assert "The sum of x and y." not in d.__doc__