import fitz import numpy as np import pytest from cv_analysis.utils.pdf2array import pdf_to_array_and_metadata @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 array, metadata in pdf_to_array_and_metadata(pdf): assert isinstance(array, np.ndarray) assert array.shape == (2339, 1653, 3) # Height, Width, Color channels assert isinstance(metadata, dict)