File tree 2 files changed +21
-0
lines changed
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) {
109
109
m.def (" get_iterator" , [] { return py::iterator (); });
110
110
// test_iterable
111
111
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); });
112
117
// test_float
113
118
m.def (" get_float" , [] { return py::float_ (0 .0f ); });
114
119
// test_list
Original file line number Diff line number Diff line change @@ -26,6 +26,22 @@ def test_iterator(doc):
26
26
assert doc (m .get_iterator ) == "get_iterator() -> Iterator"
27
27
28
28
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
+
29
45
def test_iterable (doc ):
30
46
assert doc (m .get_iterable ) == "get_iterable() -> Iterable"
31
47
You can’t perform that action at this time.
0 commit comments