Ejemplo n.º 1
0
def test_dimensions_cover(source, target, upscale, rescale, crop):
    source = Dimensions(*source)
    target_width, target_height = target
    rescale = Dimensions(*rescale)
    crop = Dimensions(*crop)

    new_dims = source.cover(target_width, target_height, upscale)
    assert rescale == new_dims.rescale
    assert crop == new_dims.crop
Ejemplo n.º 2
0
def test_dimensions_fit_within(source, target, upscale, rescale):
    # We don't take a crop parameter here since it will always be the same as
    # rescale
    source = Dimensions(*source)
    target_width, target_height = target
    rescale = Dimensions(*rescale)

    new_dims = source.fit_within(target_width, target_height, upscale)
    assert rescale == new_dims.rescale
    assert rescale == new_dims.crop
Ejemplo n.º 3
0
def test_dimensions_invalid_resize():
    dim = Dimensions(640, 480)
    with pytest.raises(ValueError):
        dim.resize(mode="invalid")
Ejemplo n.º 4
0
@pytest.mark.parametrize(
    "in_quality",
    [
        -1,
        101,
    ],
)
def test_get_ffmpeg_quality_bad_range(in_quality):
    with pytest.raises(ValueError):
        get_ffmpeg_quality(in_quality)


@pytest.mark.parametrize(
    "dim, ar",
    [
        (Dimensions(100, 100), 1),
        (Dimensions(320, 160), 2),
        (Dimensions(160, 320), 0.5),
    ],
)
def test_dimensions_aspect_ratio(dim, ar):
    assert dim.aspect_ratio == ar


@pytest.mark.parametrize(
    # pylint: disable=bad-whitespace
    "source, target, upscale, rescale",
    [
        ((100, 100), (50, None), None, (50, 50)),
        ((100, 50), (50, None), None, (50, 25)),
        ((100, 50), (None, 25), None, (50, 25)),