MCPcopy
hub / github.com/pydantic/pydantic / test_var_args_kwargs

Function test_var_args_kwargs

tests/test_validate_call.py:272–286  ·  view source on GitHub ↗
(validated)

Source from the content-addressed store, hash-verified

270
271@pytest.mark.parametrize('validated', (True, False))
272def test_var_args_kwargs(validated):
273 def foo(a, b, *args, d=3, **kwargs):
274 return f'a={a!r}, b={b!r}, args={args!r}, d={d!r}, kwargs={kwargs!r}'
275
276 if validated:
277 foo = validate_call(foo)
278
279 assert foo(1, 2) == 'a=1, b=2, args=(), d=3, kwargs={}'
280 assert foo(1, 2, 3, d=4) == 'a=1, b=2, args=(3,), d=4, kwargs={}'
281 assert foo(*[1, 2, 3], d=4) == 'a=1, b=2, args=(3,), d=4, kwargs={}'
282 assert foo(1, 2, args=(10, 11)) == "a=1, b=2, args=(), d=3, kwargs={'args': (10, 11)}"
283 assert foo(1, 2, 3, args=(10, 11)) == "a=1, b=2, args=(3,), d=3, kwargs={'args': (10, 11)}"
284 assert foo(1, 2, 3, e=10) == "a=1, b=2, args=(3,), d=3, kwargs={'e': 10}"
285 assert foo(1, 2, kwargs=4) == "a=1, b=2, args=(), d=3, kwargs={'kwargs': 4}"
286 assert foo(1, 2, kwargs=4, e=5) == "a=1, b=2, args=(), d=3, kwargs={'kwargs': 4, 'e': 5}"
287
288
289def test_unpacked_typed_dict_kwargs_invalid_type() -> None:

Callers

nothing calls this directly

Calls 2

validate_callFunction · 0.90
fooFunction · 0.70

Tested by

no test coverage detected