add metadata fixture
This commit is contained in:
parent
643ab99bd3
commit
2631eb5c0f
@ -10,12 +10,15 @@ from image_prediction.estimator.adapter.adapters.keras import KerasEstimatorAdap
|
||||
from image_prediction.estimator.adapter.adapters.mock import EstimatorMock, EstimatorAdapterMock
|
||||
from image_prediction.exceptions import UnknownEstimatorAdapter, UnknownImageExtractor
|
||||
from image_prediction.image_extractor.extractors.mock import ImageExtractorMock
|
||||
from image_prediction.image_extractor.extractors.parsable import ParsablePDFImageExtractor
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def image_extractor(extractor_type):
|
||||
if extractor_type == "mock":
|
||||
return ImageExtractorMock()
|
||||
elif extractor_type == "parsable_pdf":
|
||||
return ParsablePDFImageExtractor()
|
||||
else:
|
||||
raise UnknownImageExtractor(f"No image extractor for type {extractor_type} was specified.")
|
||||
|
||||
@ -119,3 +122,29 @@ def classes():
|
||||
|
||||
def map_labels(numeric_labels, classes):
|
||||
return [classes[nl] for nl in numeric_labels]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def metadata(images):
|
||||
def build_image_metadata(image):
|
||||
width, height = image.size
|
||||
page_width = 595.32
|
||||
page_height = 842.04
|
||||
x1 = random.uniform(0, page_width - width)
|
||||
x2 = x1 + width
|
||||
y1 = random.uniform(0, page_height)
|
||||
y2 = y1 - height
|
||||
|
||||
metadata = {
|
||||
"page_width": page_width,
|
||||
"page_height": page_height,
|
||||
"page_idx": 0,
|
||||
"width": width,
|
||||
"height": height,
|
||||
"x1": x1,
|
||||
"x2": x2,
|
||||
"y1": y1,
|
||||
"y2": y2
|
||||
}
|
||||
|
||||
return map(build_image_metadata, images)
|
||||
|
||||
@ -6,3 +6,11 @@ import pytest
|
||||
def test_image_extractor_mock(image_extractor, images):
|
||||
images_extracted, metadata = map(list, zip(*image_extractor(images)))
|
||||
assert images_extracted == images
|
||||
|
||||
|
||||
@pytest.mark.parametrize("extractor_type", ["parsable_pdf"])
|
||||
@pytest.mark.parametrize("batch_size", [1, 2, 4])
|
||||
def test_parsable_pdf_image_extractor(image_extractor, pdf, images, metadata):
|
||||
images_extracted, metadata_extracted = map(list, zip(*image_extractor(images)))
|
||||
assert images_extracted == images
|
||||
assert metadata_extracted == metadata
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user