Matthias Bisping 302613bf2b refactoring
eager eval because double iter later
2022-04-05 23:08:41 +02:00

48 lines
1.5 KiB
Python

from itertools import starmap
import fpdf
import pytest
from funcy import merge
from image_prediction.image_extractor.extractor import ImageMetadataPair
from image_prediction.info import Info
from test.conftest import get_base_position_metadata, add_image, random_single_color_image_from_metadata
from test.utils.stitching import BoxSplitter
# def test_image_stitcher(patches_metadata):
# assert Stitcher().stitch(patches)
@pytest.mark.parametrize("width", [160])
@pytest.mark.parametrize("height", [90])
@pytest.mark.parametrize("page_width", [int(160 * 1.1)])
@pytest.mark.parametrize("page_height", [int(90 * 1.1)])
def test_partial_image_metadata_pairs(patch_image_metadata_pairs, page_width, page_height):
pdf = fpdf.FPDF(unit="pt", format=(page_width, page_height))
for pair in patch_image_metadata_pairs:
add_image(pdf, pair)
pdf.output("/tmp/bla.pdf")
@pytest.fixture
def patch_image_metadata_pairs(patches_metadata):
images = map(random_single_color_image_from_metadata, patches_metadata)
return starmap(ImageMetadataPair, zip(images, patches_metadata))
@pytest.fixture
def base_patch_metadata(width, height, page_width, page_height):
metadata = get_base_position_metadata(width, height, page_width, page_height)
metadata = merge(metadata, {Info.X1: 0, Info.Y1: 0, Info.X2: width, Info.Y2: height})
return metadata
@pytest.fixture
def patches_metadata(base_patch_metadata):
patches_metadata = list(BoxSplitter().split_box(base_patch_metadata))
return patches_metadata