Files
doc-forge/tests/introspection/test_classes_and_methods.py

27 lines
660 B
Python

from docforge import GriffeLoader
def test_class_and_methods(temp_package):
(temp_package / "cls.py").write_text(
'''class MyClass:
"""Class doc."""
def method(self, x: int) -> int:
"""Method doc."""
return x
'''
)
loader = GriffeLoader()
project = loader.load_project(["testpkg.cls"])
module = project.get_module("testpkg.cls")
cls = module.get_object("MyClass")
assert cls.kind == "class"
assert cls.docstring == "Class doc."
assert "method" in cls.members
method = cls.get_member("method")
assert method.kind in {"method", "function"}
assert method.signature is not None