From 123f2fb46cbe601429450b653a9496de061822e5 Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 11 Aug 2022 11:10:44 -0700 Subject: [PATCH 1/5] Add some additional pytests --- tests/test_pytypes.cpp | 7 +++++++ tests/test_pytypes.py | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/tests/test_pytypes.cpp b/tests/test_pytypes.cpp index 81387fd9f5..b91e56eac8 100644 --- a/tests/test_pytypes.cpp +++ b/tests/test_pytypes.cpp @@ -109,6 +109,13 @@ TEST_SUBMODULE(pytypes, m) { m.def("get_iterator", [] { return py::iterator(); }); // test_iterable m.def("get_iterable", [] { return py::iterable(); }); + m.def("get_set_from_iterable", [](const py::iterable &iter) { return py::set(iter); }); + m.def("get_frozenset_from_iterable", + [](const py::iterable &iter) { return py::frozenset(iter); }); + m.def("get_tuple_from_iterable", [](const py::iterable &iter) { return py::tuple(iter); }); + m.def("get_list_from_iterable", [](const py::iterable &iter) { return py::list(iter); }); + // test_float + // test_float // test_float m.def("get_float", [] { return py::float_(0.0f); }); // test_list diff --git a/tests/test_pytypes.py b/tests/test_pytypes.py index bde8317386..cd011aa047 100644 --- a/tests/test_pytypes.py +++ b/tests/test_pytypes.py @@ -26,6 +26,22 @@ def test_iterator(doc): assert doc(m.get_iterator) == "get_iterator() -> Iterator" +@pytest.mark.parametrize( + "pytype, from_iter_func", + [ + (set, m.get_set_from_iterable), + (frozenset, m.get_frozenset_from_iterable), + (list, m.get_list_from_iterable), + (tuple, m.get_tuple_from_iterable), + ], +) +def test_from_iterable(capture, doc, pytype, from_iter_func): + my_iter = iter(range(10)) + s = from_iter_func(my_iter) + assert type(s) == pytype + assert s == pytype(range(10)) + + def test_iterable(doc): assert doc(m.get_iterable) == "get_iterable() -> Iterable" From 4567f01e1338f5224c7b979a42c698832d554075 Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 11 Aug 2022 11:12:06 -0700 Subject: [PATCH 2/5] Reorder tests --- tests/test_pytypes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_pytypes.cpp b/tests/test_pytypes.cpp index b91e56eac8..1fa2b5cbfa 100644 --- a/tests/test_pytypes.cpp +++ b/tests/test_pytypes.cpp @@ -109,9 +109,9 @@ TEST_SUBMODULE(pytypes, m) { m.def("get_iterator", [] { return py::iterator(); }); // test_iterable m.def("get_iterable", [] { return py::iterable(); }); - m.def("get_set_from_iterable", [](const py::iterable &iter) { return py::set(iter); }); m.def("get_frozenset_from_iterable", [](const py::iterable &iter) { return py::frozenset(iter); }); + m.def("get_set_from_iterable", [](const py::iterable &iter) { return py::set(iter); }); m.def("get_tuple_from_iterable", [](const py::iterable &iter) { return py::tuple(iter); }); m.def("get_list_from_iterable", [](const py::iterable &iter) { return py::list(iter); }); // test_float From 2ed14e038b3795846c29ad63e2cecce0167c01be Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 11 Aug 2022 11:12:48 -0700 Subject: [PATCH 3/5] Further reorder tests --- tests/test_pytypes.cpp | 2 +- tests/test_pytypes.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_pytypes.cpp b/tests/test_pytypes.cpp index 1fa2b5cbfa..d3583b66ec 100644 --- a/tests/test_pytypes.cpp +++ b/tests/test_pytypes.cpp @@ -111,9 +111,9 @@ TEST_SUBMODULE(pytypes, m) { m.def("get_iterable", [] { return py::iterable(); }); m.def("get_frozenset_from_iterable", [](const py::iterable &iter) { return py::frozenset(iter); }); + m.def("get_list_from_iterable", [](const py::iterable &iter) { return py::list(iter); }); m.def("get_set_from_iterable", [](const py::iterable &iter) { return py::set(iter); }); m.def("get_tuple_from_iterable", [](const py::iterable &iter) { return py::tuple(iter); }); - m.def("get_list_from_iterable", [](const py::iterable &iter) { return py::list(iter); }); // test_float // test_float // test_float diff --git a/tests/test_pytypes.py b/tests/test_pytypes.py index cd011aa047..931f6196dc 100644 --- a/tests/test_pytypes.py +++ b/tests/test_pytypes.py @@ -29,9 +29,9 @@ def test_iterator(doc): @pytest.mark.parametrize( "pytype, from_iter_func", [ - (set, m.get_set_from_iterable), (frozenset, m.get_frozenset_from_iterable), (list, m.get_list_from_iterable), + (set, m.get_set_from_iterable), (tuple, m.get_tuple_from_iterable), ], ) From f318ca100c0ae26b02c19dd205d5ea663f59f09c Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 11 Aug 2022 15:15:06 -0400 Subject: [PATCH 4/5] remove stray lines --- tests/test_pytypes.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_pytypes.cpp b/tests/test_pytypes.cpp index d3583b66ec..da0dc8f6ba 100644 --- a/tests/test_pytypes.cpp +++ b/tests/test_pytypes.cpp @@ -115,8 +115,6 @@ TEST_SUBMODULE(pytypes, m) { m.def("get_set_from_iterable", [](const py::iterable &iter) { return py::set(iter); }); m.def("get_tuple_from_iterable", [](const py::iterable &iter) { return py::tuple(iter); }); // test_float - // test_float - // test_float m.def("get_float", [] { return py::float_(0.0f); }); // test_list m.def("list_no_args", []() { return py::list{}; }); From 147a67bff640f27c92e96b7aabb1e83fc6398081 Mon Sep 17 00:00:00 2001 From: Aaron Gokaslan Date: Thu, 11 Aug 2022 12:37:43 -0700 Subject: [PATCH 5/5] remove unused fixtures --- tests/test_pytypes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_pytypes.py b/tests/test_pytypes.py index 931f6196dc..a34eaa59e8 100644 --- a/tests/test_pytypes.py +++ b/tests/test_pytypes.py @@ -35,7 +35,7 @@ def test_iterator(doc): (tuple, m.get_tuple_from_iterable), ], ) -def test_from_iterable(capture, doc, pytype, from_iter_func): +def test_from_iterable(pytype, from_iter_func): my_iter = iter(range(10)) s = from_iter_func(my_iter) assert type(s) == pytype