import pytest from zvk.event.reflection import run_with_env def test_reflection(): calls = 0 def no_args(): nonlocal calls calls += 1 run_with_env(None, no_args) assert calls == 1 def some_args(a, b=1): nonlocal calls calls += 1 assert a == 1 assert b == 2 run_with_env(dict(a=1, b=2), some_args) assert calls == 2 def default_check(a, b=1): nonlocal calls calls += 1 assert a == 1 assert b == 1 run_with_env(dict(a=1), default_check) assert calls == 3 with pytest.raises(TypeError): run_with_env(None, default_check) assert calls == 3