Skip to content
Snippets Groups Projects
Commit 5ccd9b25 authored by Bert Palm's avatar Bert Palm 🎇
Browse files

added basic call-redirect test for core.modules

parent 1853e3a7
No related branches found
No related tags found
1 merge request!462More tests
......@@ -32,7 +32,7 @@ ExternalFlag = Union[str, float, int]
# needed for deeper type hinting magic
class CurveFitter(Protocol):
def __call__(self, data: np.ndarray, *params: float) -> np.ndarray:
...
... # pragma: no cover
class GenericFunction(Protocol):
......@@ -41,7 +41,7 @@ class GenericFunction(Protocol):
__globals__: Dict[str, Any]
def __call__(self, *args: pd.Series) -> PandasLike:
...
... # pragma: no cover
class OptionalNone:
......
#!/usr/bin/env python
import inspect
import pytest
from saqc.core.modules import FunctionsMixin
methods = [
attr
for attr in dir(FunctionsMixin)
if callable(getattr(FunctionsMixin, attr)) and not attr.startswith("_")
]
@pytest.mark.parametrize("name", methods)
def test_redirect_call(name):
fmixin = FunctionsMixin()
method = getattr(fmixin, name)
params = inspect.signature(method).parameters
assert "field" in params
assert "kwargs" in params
dummy_params = dict.fromkeys(params.keys())
dummy_params.pop("kwargs")
err_msg = "'FunctionsMixin' object has no attribute '_wrap'"
with pytest.raises(AttributeError, match=err_msg):
method(**dummy_params)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment