import pytest from image_prediction.utils.process_wrapping import wrap_in_process @pytest.fixture def process_fn_mock(): def _process(a: str, b: float, c: dict, d: list): return a * 2, b + 3, c, d[0] return _process @pytest.fixture def parameter(): return {"a": "A", "b": 0.42, "c": {"x": 1, "y": 2}, "d": [1, 2, 3]} def test_process_wrapper_with_args(process_fn_mock, parameter): assert process_fn_mock(*parameter.values()) == wrap_in_process(process_fn_mock)(*parameter.values()) def test_process_wrapper_with_kwargs(process_fn_mock, parameter): assert process_fn_mock(**parameter) == wrap_in_process(process_fn_mock)(**parameter)