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
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
def test_dimensions_invalid_resize(): dim = Dimensions(640, 480) with pytest.raises(ValueError): dim.resize(mode="invalid")
@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)),