From 130a10e2d97d4bd27e2fea0e93180904047dd087 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 14 Jul 2025 08:23:50 +0000 Subject: [PATCH] Add multi-page TIFF test data and verification tests Co-authored-by: cau-git <60343111+cau-git@users.noreply.github.com> --- tests/data/tiff/multipage_2pages.tif | Bin 0 -> 720288 bytes tests/data/tiff/multipage_3pages.tif | Bin 0 -> 1080432 bytes tests/data/tiff/multipage_4pages.tif | Bin 0 -> 1440576 bytes tests/data/tiff/single_page.tif | Bin 0 -> 360140 bytes tests/test_multipage_tiff.py | 139 +++++++++++++++++++++++++++ 5 files changed, 139 insertions(+) create mode 100644 tests/data/tiff/multipage_2pages.tif create mode 100644 tests/data/tiff/multipage_3pages.tif create mode 100644 tests/data/tiff/multipage_4pages.tif create mode 100644 tests/data/tiff/single_page.tif create mode 100644 tests/test_multipage_tiff.py diff --git a/tests/data/tiff/multipage_2pages.tif b/tests/data/tiff/multipage_2pages.tif new file mode 100644 index 0000000000000000000000000000000000000000..df403d7391129570e0a329dea641670387ff547c GIT binary patch literal 720288 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 literal 0 HcmV?d00001 diff --git a/tests/data/tiff/multipage_4pages.tif b/tests/data/tiff/multipage_4pages.tif new file mode 100644 index 0000000000000000000000000000000000000000..532b8c4a1ffdbc0b70aa560b602d9798bf38639e GIT binary patch literal 1440576 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 CEOrY3 literal 0 HcmV?d00001 diff --git a/tests/data/tiff/single_page.tif b/tests/data/tiff/single_page.tif new file mode 100644 index 0000000000000000000000000000000000000000..bd7c9f6e2d16ab1f1e636004dcd7e3adbc73ac6e GIT binary patch literal 360140 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 M0~o--@owOM0YkdEeE 0, "No TIFF test files found in tests/data/tiff/" + + # Expected test files + expected_files = { + "single_page.tif": 1, + "multipage_2pages.tif": 2, + "multipage_3pages.tif": 3, + "multipage_4pages.tif": 4, + } + + found_files = {p.name: p for p in tiff_paths} + + for expected_file, expected_pages in expected_files.items(): + assert expected_file in found_files, f"Expected test file {expected_file} not found" + + # Verify the file has the expected number of pages + with Image.open(found_files[expected_file]) as img: + if hasattr(img, 'n_frames'): + actual_pages = img.n_frames + else: + actual_pages = 1 + + assert actual_pages == expected_pages, ( + f"File {expected_file} should have {expected_pages} pages, " + f"but has {actual_pages}" + ) + + +def test_multipage_tiff_image_properties(): + """Test that our multi-page TIFF files have the correct structure.""" + tiff_paths = get_tiff_test_paths() + + if not tiff_paths: + print("SKIP: No TIFF test files found") + return + + multipage_files = [p for p in tiff_paths if "multipage" in p.name] + + for tiff_path in multipage_files: + with Image.open(tiff_path) as img: + # Should be a multi-page image + assert hasattr(img, 'n_frames'), f"{tiff_path.name} should be multi-page" + assert img.n_frames > 1, f"{tiff_path.name} should have more than 1 frame" + + # Verify we can seek through all frames + frames_accessible = 0 + try: + for i in range(img.n_frames): + img.seek(i) + frames_accessible += 1 + + # Verify frame is valid + assert img.size[0] > 0 and img.size[1] > 0, ( + f"Frame {i} in {tiff_path.name} has invalid size" + ) + except EOFError: + pass + + assert frames_accessible == img.n_frames, ( + f"Could only access {frames_accessible} of {img.n_frames} frames " + f"in {tiff_path.name}" + ) + + +def test_single_page_tiff_properties(): + """Test that single-page TIFF files have the correct structure.""" + tiff_paths = get_tiff_test_paths() + + if not tiff_paths: + print("SKIP: No TIFF test files found") + return + + single_page_files = [p for p in tiff_paths if "single_page" in p.name] + + if not single_page_files: + print("SKIP: No single-page TIFF test files found") + return + + for tiff_path in single_page_files: + with Image.open(tiff_path) as img: + # Should be a single-page image + if hasattr(img, 'n_frames'): + assert img.n_frames == 1, f"{tiff_path.name} should have exactly 1 frame" + + # Verify image is valid + assert img.size[0] > 0 and img.size[1] > 0, ( + f"{tiff_path.name} has invalid size" + ) + + +def get_expected_pages_from_filename(filename: str) -> int: + """Extract expected number of pages from test file names.""" + filename_lower = filename.lower() + + if "single_page" in filename_lower: + return 1 + elif "2pages" in filename_lower: + return 2 + elif "3pages" in filename_lower: + return 3 + elif "4pages" in filename_lower: + return 4 + else: + # For any other files, assume single page + return 1 + + +if __name__ == "__main__": + # When run directly, execute the tests + test_tiff_test_files_exist() + test_multipage_tiff_image_properties() + test_single_page_tiff_properties() + print("All TIFF test file validation passed!") \ No newline at end of file