MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_tuple

Function test_tuple

tests/test_builtin_casters.py:387–422  ·  view source on GitHub ↗

std::pair <-> tuple & std::tuple <-> tuple

(doc)

Source from the content-addressed store, hash-verified

385
386
387def test_tuple(doc):
388 """std::pair <-> tuple & std::tuple <-> tuple"""
389 assert m.pair_passthrough((True, "test")) == ("test", True)
390 assert m.tuple_passthrough((True, "test", 5)) == (5, "test", True)
391 # Any sequence can be cast to a std::pair or std::tuple
392 assert m.pair_passthrough([True, "test"]) == ("test", True)
393 assert m.tuple_passthrough([True, "test", 5]) == (5, "test", True)
394 assert m.empty_tuple() == ()
395
396 assert (
397 doc(m.pair_passthrough)
398 == """
399 pair_passthrough(arg0: tuple[bool, str]) -> tuple[str, bool]
400
401 Return a pair in reversed order
402 """
403 )
404 assert (
405 doc(m.tuple_passthrough)
406 == """
407 tuple_passthrough(arg0: tuple[bool, str, typing.SupportsInt | typing.SupportsIndex]) -> tuple[int, str, bool]
408
409 Return a triple in reversed order
410 """
411 )
412
413 assert doc(m.empty_tuple) == """empty_tuple() -> tuple[()]"""
414
415 assert m.rvalue_pair() == ("rvalue", "rvalue")
416 assert m.lvalue_pair() == ("lvalue", "lvalue")
417 assert m.rvalue_tuple() == ("rvalue", "rvalue", "rvalue")
418 assert m.lvalue_tuple() == ("lvalue", "lvalue", "lvalue")
419 assert m.rvalue_nested() == ("rvalue", ("rvalue", ("rvalue", "rvalue")))
420 assert m.lvalue_nested() == ("lvalue", ("lvalue", ("lvalue", "lvalue")))
421
422 assert m.int_string_pair() == (2, "items")
423
424
425def test_builtins_cast_return_none():

Callers

nothing calls this directly

Calls 1

docFunction · 0.70

Tested by

no test coverage detected