3 from pybind11_tests
import opaque_types
as m
4 from pybind11_tests
import ConstructorStats, UserType
9 lst.push_back(
"Element 1")
10 lst.push_back(
"Element 2")
11 assert m.print_opaque_list(lst) ==
"Opaque list: [Element 1, Element 2]" 12 assert lst.back() ==
"Element 2" 14 for i, k
in enumerate(lst, start=1):
15 assert k ==
"Element {}".format(i)
17 assert m.print_opaque_list(lst) ==
"Opaque list: [Element 1]" 19 cvp = m.ClassWithSTLVecProperty()
20 assert m.print_opaque_list(cvp.stringList) ==
"Opaque list: []" 23 cvp.stringList.push_back(
"Element 3")
24 assert m.print_opaque_list(cvp.stringList) ==
"Opaque list: [Element 1, Element 3]" 29 assert m.get_void_ptr_value(m.return_void_ptr()) == 0x1234
30 assert m.get_void_ptr_value(UserType())
33 with pytest.raises(TypeError)
as excinfo:
34 m.get_void_ptr_value([1, 2, 3])
35 assert msg(excinfo.value) ==
""" 36 get_void_ptr_value(): incompatible function arguments. The following argument types are supported: 37 1. (arg0: capsule) -> int 39 Invoked with: [1, 2, 3] 42 assert m.return_null_str()
is None 43 assert m.get_null_str_value(m.return_null_str())
is not None 45 ptr = m.return_unique_ptr()
46 assert "StringList" in repr(ptr)
47 assert m.print_opaque_list(ptr) ==
"Opaque list: [some value]"
static ConstructorStats & get(std::type_index type)