()
| 15 | |
| 16 | |
| 17 | def test_positional_param() -> None: |
| 18 | @required_args(["a"]) |
| 19 | def foo(a: str | None = None) -> str | None: |
| 20 | return a |
| 21 | |
| 22 | assert foo("a") == "a" |
| 23 | assert foo(None) is None |
| 24 | assert foo(a="b") == "b" |
| 25 | |
| 26 | with pytest.raises(TypeError, match="Missing required argument: 'a'"): |
| 27 | foo() |
| 28 | |
| 29 | |
| 30 | def test_keyword_only_param() -> None: |