From ed073324ced384c107b17a11ca1677d84bd9a8a9 Mon Sep 17 00:00:00 2001 From: Yay295 Date: Wed, 17 Apr 2024 13:12:00 -0500 Subject: [PATCH] parametrize test_getdata_roundtrip() --- Tests/test_image_getdata_putdata.py | 35 +++++++++++++++++------------ 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/Tests/test_image_getdata_putdata.py b/Tests/test_image_getdata_putdata.py index f863827ae..5ff877886 100644 --- a/Tests/test_image_getdata_putdata.py +++ b/Tests/test_image_getdata_putdata.py @@ -38,20 +38,27 @@ def test_putdata_sanity() -> None: assert_image_equal(im1, im2) -def test_getdata_roundtrip() -> None: - def getdata(mode: str) -> tuple[float | tuple[int, ...], int, int]: - im = hopper(mode).resize((32, 30), Image.Resampling.NEAREST) - data = im.getdata() - return data[0], len(data), len(list(data)) - - assert getdata("1") == (0, 960, 960) - assert getdata("L") == (17, 960, 960) - assert getdata("I") == (17, 960, 960) - assert getdata("F") == (17.0, 960, 960) - assert getdata("RGB") == ((11, 13, 52), 960, 960) - assert getdata("RGBA") == ((11, 13, 52, 255), 960, 960) - assert getdata("CMYK") == ((244, 242, 203, 0), 960, 960) - assert getdata("YCbCr") == ((16, 147, 123), 960, 960) +@pytest.mark.parametrize( + "mode, first_pixel, data_size", + ( + ("1", 0, 960), + ("L", 17, 960), + ("I", 17, 960), + ("F", 17.0, 960), + ("RGB", (11, 13, 52), 960), + ("RGBA", (11, 13, 52, 255), 960), + ("CMYK", (244, 242, 203, 0), 960), + ("YCbCr", (16, 147, 123), 960), + ), +) +def test_getdata_roundtrip( + mode: str, first_pixel: float | tuple[int, ...], data_size: int +) -> None: + im = hopper(mode).resize((32, 30), Image.Resampling.NEAREST) + data = im.getdata() + assert data[0] == first_pixel + assert len(data) == data_size + assert len(list(data)) == data_size def test_putdata_long_integers() -> None: