def test_parse_doc(): doc = """ Some description Parameters ---------- param : int Description """ # simulate function with __doc__ attr class FakeCallable: pass callable_ = FakeCallable() callable_.__doc__ = doc expected = { 'params': { 'param': { 'desc': 'Description', 'type': 'int' } }, 'summary': 'Docstring: Some description' } assert parsers._parse_doc(callable_) == expected
def test_parse_doc_if_missing_numpydoc(docstring, expected_summary, monkeypatch): def _module_not_found(arg): raise ModuleNotFoundError # simulate numpydoc isn't installed monkeypatch.setattr(importlib, 'import_module', _module_not_found) # simulate function with __doc__ attr class FakeCallable: pass callable_ = FakeCallable() callable_.__doc__ = docstring assert (parsers._parse_doc(callable_) == { 'params': {}, 'summary': expected_summary })