import fitz import numpy as np import pytest from cv_analysis.utils.pdf2image import pdf_to_image_metadata_pairs @pytest.fixture def pdf(n_pages): doc = fitz.open() for n in range(n_pages): page = doc.new_page() where = fitz.Point(50, 100) page.insert_text(where, "De gustibus non est disputandum.", fontsize=30) return doc.write() @pytest.mark.parametrize("n_pages", [1]) def test_pdf_to_array_and_metadata(pdf): for image_metadata_pair in pdf_to_image_metadata_pairs(pdf): assert isinstance(image_metadata_pair.image, np.ndarray) assert image_metadata_pair.image.shape == (2339, 1653, 3) # Height, Width, Color channels assert isinstance(image_metadata_pair.metadata, dict)