File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -109,6 +109,11 @@ TEST_SUBMODULE(pytypes, m) {
109109 m.def (" get_iterator" , [] { return py::iterator (); });
110110 // test_iterable
111111 m.def (" get_iterable" , [] { return py::iterable (); });
112+ m.def (" get_frozenset_from_iterable" ,
113+ [](const py::iterable &iter) { return py::frozenset (iter); });
114+ m.def (" get_list_from_iterable" , [](const py::iterable &iter) { return py::list (iter); });
115+ m.def (" get_set_from_iterable" , [](const py::iterable &iter) { return py::set (iter); });
116+ m.def (" get_tuple_from_iterable" , [](const py::iterable &iter) { return py::tuple (iter); });
112117 // test_float
113118 m.def (" get_float" , [] { return py::float_ (0 .0f ); });
114119 // test_list
Original file line number Diff line number Diff line change @@ -26,6 +26,22 @@ def test_iterator(doc):
2626 assert doc (m .get_iterator ) == "get_iterator() -> Iterator"
2727
2828
29+ @pytest .mark .parametrize (
30+ "pytype, from_iter_func" ,
31+ [
32+ (frozenset , m .get_frozenset_from_iterable ),
33+ (list , m .get_list_from_iterable ),
34+ (set , m .get_set_from_iterable ),
35+ (tuple , m .get_tuple_from_iterable ),
36+ ],
37+ )
38+ def test_from_iterable (pytype , from_iter_func ):
39+ my_iter = iter (range (10 ))
40+ s = from_iter_func (my_iter )
41+ assert type (s ) == pytype
42+ assert s == pytype (range (10 ))
43+
44+
2945def test_iterable (doc ):
3046 assert doc (m .get_iterable ) == "get_iterable() -> Iterable"
3147
You can’t perform that action at this time.
0 commit comments