34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import pytest
|
|
|
|
from image_prediction.compositor.compositor import TransformerCompositor
|
|
from image_prediction.formatter.formatters.camel_case import Snake2CamelCaseKeyFormatter
|
|
from image_prediction.formatter.formatters.enum import EnumFormatter
|
|
from image_prediction.formatter.formatters.identity import IdentityFormatter
|
|
from image_prediction.info import Info
|
|
from test.utils.comparison import transform_equal
|
|
|
|
|
|
def test_identity(metadata):
|
|
compositor = TransformerCompositor(IdentityFormatter())
|
|
assert transform_equal(compositor(metadata), metadata)
|
|
|
|
|
|
def test_composition(metadata, metadata_formatted):
|
|
compositor = TransformerCompositor(IdentityFormatter(), EnumFormatter())
|
|
assert transform_equal(compositor(metadata), metadata_formatted)
|
|
|
|
|
|
@pytest.fixture()
|
|
def compositor_test_enum_metadata():
|
|
return [{Info.WIDTH: 100, Info.PAGE_WIDTH: 200}]
|
|
|
|
|
|
@pytest.fixture()
|
|
def compositor_test_camel_case_metadata():
|
|
return [{"width": 100, "pageWidth": 200}]
|
|
|
|
|
|
def test_enum_to_camel_case(compositor_test_enum_metadata, compositor_test_camel_case_metadata):
|
|
compositor = TransformerCompositor(EnumFormatter(), Snake2CamelCaseKeyFormatter())
|
|
assert transform_equal(compositor(compositor_test_enum_metadata), compositor_test_camel_case_metadata)
|