From ed3085872936add134b3dd5488fc238430942db6 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 22 Jul 2025 22:59:15 +1000 Subject: [PATCH 1/3] Split parametrization --- Tests/test_arro3.py | 23 +++++++++-------------- Tests/test_nanoarrow.py | 23 +++++++++-------------- 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/Tests/test_arro3.py b/Tests/test_arro3.py index a7c755fc2b6..92493d9b056 100644 --- a/Tests/test_arro3.py +++ b/Tests/test_arro3.py @@ -225,23 +225,18 @@ def test_fromarray(mode: str, data_tp: DataShape, mask: list[int] | None) -> Non @pytest.mark.parametrize( - "mode, data_tp, mask", + "mode, mask", ( - ("LA", UINT32, [0, 3]), - ("RGB", UINT32, [0, 1, 2]), - ("RGBA", UINT32, None), - ("CMYK", UINT32, None), - ("YCbCr", UINT32, [0, 1, 2]), - ("HSV", UINT32, [0, 1, 2]), - ("LA", INT32, [0, 3]), - ("RGB", INT32, [0, 1, 2]), - ("RGBA", INT32, None), - ("CMYK", INT32, None), - ("YCbCr", INT32, [0, 1, 2]), - ("HSV", INT32, [0, 1, 2]), + ("LA", [0, 3]), + ("RGB", [0, 1, 2]), + ("RGBA", None), + ("CMYK", None), + ("YCbCr", [0, 1, 2]), + ("HSV", [0, 1, 2]), ), ) -def test_from_int32array(mode: str, data_tp: DataShape, mask: list[int] | None) -> None: +@pytest.mark.parametrize("data_tp", (UINT32, INT32)) +def test_from_int32array(mode: str, mask: list[int] | None, data_tp: DataShape) -> None: (dtype, elt, elts_per_pixel) = data_tp ct_pixels = TEST_IMAGE_SIZE[0] * TEST_IMAGE_SIZE[1] diff --git a/Tests/test_nanoarrow.py b/Tests/test_nanoarrow.py index b08333ae97b..3a839a01569 100644 --- a/Tests/test_nanoarrow.py +++ b/Tests/test_nanoarrow.py @@ -232,23 +232,18 @@ def test_fromarray(mode: str, data_tp: DataShape, mask: list[int] | None) -> Non @pytest.mark.parametrize( - "mode, data_tp, mask", + "mode, mask", ( - ("LA", UINT32, [0, 3]), - ("RGB", UINT32, [0, 1, 2]), - ("RGBA", UINT32, None), - ("CMYK", UINT32, None), - ("YCbCr", UINT32, [0, 1, 2]), - ("HSV", UINT32, [0, 1, 2]), - ("LA", INT32, [0, 3]), - ("RGB", INT32, [0, 1, 2]), - ("RGBA", INT32, None), - ("CMYK", INT32, None), - ("YCbCr", INT32, [0, 1, 2]), - ("HSV", INT32, [0, 1, 2]), + ("LA", [0, 3]), + ("RGB", [0, 1, 2]), + ("RGBA", None), + ("CMYK", None), + ("YCbCr", [0, 1, 2]), + ("HSV", [0, 1, 2]), ), ) -def test_from_int32array(mode: str, data_tp: DataShape, mask: list[int] | None) -> None: +@pytest.mark.parametrize("data_tp", (UINT32, INT32)) +def test_from_int32array(mode: str, mask: list[int] | None, data_tp: DataShape) -> None: (dtype, elt, elts_per_pixel) = data_tp ct_pixels = TEST_IMAGE_SIZE[0] * TEST_IMAGE_SIZE[1] From d95bc95f45a79663052eb458fd6e362fc972b9c4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 22 Jul 2025 23:01:19 +1000 Subject: [PATCH 2/3] fromarrow never returns None --- Tests/test_arro3.py | 2 -- Tests/test_nanoarrow.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/Tests/test_arro3.py b/Tests/test_arro3.py index 92493d9b056..2053e2e00ae 100644 --- a/Tests/test_arro3.py +++ b/Tests/test_arro3.py @@ -112,8 +112,6 @@ def test_to_array(mode: str, dtype: DataType, mask: list[int] | None) -> None: reloaded = Image.fromarrow(arr, mode, img.size) - assert reloaded - assert_image_equal(img, reloaded) diff --git a/Tests/test_nanoarrow.py b/Tests/test_nanoarrow.py index 3a839a01569..ff4106a9211 100644 --- a/Tests/test_nanoarrow.py +++ b/Tests/test_nanoarrow.py @@ -112,8 +112,6 @@ def test_to_array(mode: str, dtype: nanoarrow, mask: list[int] | None) -> None: reloaded = Image.fromarrow(arr, mode, img.size) - assert reloaded - assert_image_equal(img, reloaded) From a3f8abe58b5bb4ed7866b393dcf16762f64f1740 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 22 Jul 2025 23:02:36 +1000 Subject: [PATCH 3/3] Simplified code --- Tests/test_arro3.py | 3 +-- Tests/test_nanoarrow.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/test_arro3.py b/Tests/test_arro3.py index 2053e2e00ae..b0d066de769 100644 --- a/Tests/test_arro3.py +++ b/Tests/test_arro3.py @@ -148,8 +148,7 @@ def test_lifetime2() -> None: assert compute.sum(arr_2).as_py() > 0 del arr_2 - img2 = img.copy() - px = img2.load() + px = img.load() assert px # make mypy happy assert isinstance(px[0, 0], int) diff --git a/Tests/test_nanoarrow.py b/Tests/test_nanoarrow.py index ff4106a9211..a5a8ab00d2c 100644 --- a/Tests/test_nanoarrow.py +++ b/Tests/test_nanoarrow.py @@ -148,8 +148,7 @@ def test_lifetime2() -> None: assert sum(arr_2.iter_py()) > 0 del arr_2 - img2 = img.copy() - px = img2.load() + px = img.load() assert px # make mypy happy assert isinstance(px[0, 0], int)