introspection
This commit is contained in:
26
tests/introspection/test_classes_and_methods.py
Normal file
26
tests/introspection/test_classes_and_methods.py
Normal file
@@ -0,0 +1,26 @@
|
||||
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
|
||||
Reference in New Issue
Block a user