class BaseEngineTestCase(unittest.TestCase): def setUp(self): self.engine = BaseThumbnailEngine() def test__calculate_scaling_factor_without_crop(self): calculate_scaling_factor = self.engine._calculate_scaling_factor original_size = (400, 600) self.assertEqual(calculate_scaling_factor(original_size, (400, 600), False), 1) self.assertEqual(calculate_scaling_factor(original_size, (100, 600), False), 0.25) self.assertEqual(calculate_scaling_factor(original_size, (400, 300), False), 0.5) self.assertEqual(calculate_scaling_factor(original_size, (200, 300), False), 0.5) self.assertEqual(calculate_scaling_factor(original_size, (200, None), False), 0.5) self.assertEqual(calculate_scaling_factor(original_size, (None, 300), False), 0.5) def test_create_thumbnail_object(self): name = ['851', '521c21fe9709802e9d4eb20a5fe84c18cd3ad'] self.assertIsInstance(self.engine.create_thumbnail_object(name), Thumbnail) def test_parse_size(self): self.assertEqual(self.engine.parse_size('100'), (100, None)) self.assertEqual(self.engine.parse_size('100x200'), (100, 200)) self.assertEqual(self.engine.parse_size('1x10'), (1, 10)) self.assertEqual(self.engine.parse_size('x1000'), (None, 1000)) def test_parse_crop(self): self.assertEqual(self.engine.parse_crop('center', (200, 200), (100, 100)), (50, 50)) self.assertEqual(self.engine.parse_crop('top', (200, 200), (100, 100)), (50, 0)) self.assertEqual(self.engine.parse_crop('bottom', (200, 200), (100, 100)), (50, 100)) self.assertEqual(self.engine.parse_crop('left', (200, 200), (100, 100)), (0, 50)) self.assertEqual(self.engine.parse_crop('right', (200, 200), (100, 100)), (100, 50)) def test_calculate_offset(self): self.assertEqual(self.engine.calculate_offset(0, 1000, 200), 0) self.assertEqual(self.engine.calculate_offset(50, 1000, 200), 400) self.assertEqual(self.engine.calculate_offset(100, 1000, 200), 800) def test_evaluate_options(self): self.assertEqual(self.engine.evaluate_options(None), self.engine.default_options()) self.assertEqual(self.engine.evaluate_options({}), self.engine.default_options()) self.assertEqual(self.engine.evaluate_options({'quality': 50})['quality'], 50) self.assertEqual( len(self.engine.evaluate_options({'quality': 50}).keys()), len(self.engine.evaluate_options({}).keys()), ) def test_calculate_alternative_resolution_size(self): self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (100, None)), (200, None) ) self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (100, 150)), (200, 300) ) self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (None, 150)), (None, 300) ) self.assertEqual( self.engine.calculate_alternative_resolution_size(1.5, (100, 100)), (150, 150) ) @mock.patch('thumbnails.engines.base.BaseThumbnailEngine.engine_colormode') def test_colormode(self, mock_engine_colormode): self.engine.colormode(None, {'colormode': 'RGB'}) mock_engine_colormode.assert_called_once_with(None, 'RGB') @mock.patch('thumbnails.engines.base.BaseThumbnailEngine.engine_get_format', lambda *x: None) def test_get_format(self): self.assertEqual(self.engine.get_format(None, {}), 'JPEG') self.assertEqual(self.engine.get_format(None, {'format': 'WEBP'}), 'WEBP')
class BaseEngineTestCase(unittest.TestCase): def setUp(self): self.engine = BaseThumbnailEngine() def test__calculate_scaling_factor_without_crop(self): calculate_scaling_factor = self.engine._calculate_scaling_factor original_size = (400, 600) self.assertEqual( calculate_scaling_factor(original_size, (400, 600), False), 1) self.assertEqual( calculate_scaling_factor(original_size, (100, 600), False), 0.25) self.assertEqual( calculate_scaling_factor(original_size, (400, 300), False), 0.5) self.assertEqual( calculate_scaling_factor(original_size, (200, 300), False), 0.5) self.assertEqual( calculate_scaling_factor(original_size, (200, None), False), 0.5) self.assertEqual( calculate_scaling_factor(original_size, (None, 300), False), 0.5) def test_create_thumbnail_object(self): name = ['851', '521c21fe9709802e9d4eb20a5fe84c18cd3ad'] self.assertIsInstance(self.engine.create_thumbnail_object(name), Thumbnail) def test_parse_size(self): self.assertEqual(self.engine.parse_size('100'), (100, None)) self.assertEqual(self.engine.parse_size('100x200'), (100, 200)) self.assertEqual(self.engine.parse_size('1x10'), (1, 10)) self.assertEqual(self.engine.parse_size('x1000'), (None, 1000)) def test_parse_crop(self): self.assertEqual( self.engine.parse_crop('center', (200, 200), (100, 100)), (50, 50)) self.assertEqual(self.engine.parse_crop('top', (200, 200), (100, 100)), (50, 0)) self.assertEqual( self.engine.parse_crop('bottom', (200, 200), (100, 100)), (50, 100)) self.assertEqual( self.engine.parse_crop('left', (200, 200), (100, 100)), (0, 50)) self.assertEqual( self.engine.parse_crop('right', (200, 200), (100, 100)), (100, 50)) def test_calculate_offset(self): self.assertEqual(self.engine.calculate_offset(0, 1000, 200), 0) self.assertEqual(self.engine.calculate_offset(50, 1000, 200), 400) self.assertEqual(self.engine.calculate_offset(100, 1000, 200), 800) def test_evaluate_options(self): self.assertEqual(self.engine.evaluate_options(None), self.engine.default_options()) self.assertEqual(self.engine.evaluate_options({}), self.engine.default_options()) self.assertEqual( self.engine.evaluate_options({'quality': 50})['quality'], 50) self.assertEqual( len(self.engine.evaluate_options({ 'quality': 50 }).keys()), len(self.engine.evaluate_options({}).keys()), ) def test_calculate_alternative_resolution_size(self): self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (100, None)), (200, None)) self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (100, 150)), (200, 300)) self.assertEqual( self.engine.calculate_alternative_resolution_size(2, (None, 150)), (None, 300)) self.assertEqual( self.engine.calculate_alternative_resolution_size(1.5, (100, 100)), (150, 150)) @mock.patch('thumbnails.engines.base.BaseThumbnailEngine.engine_colormode') def test_colormode(self, mock_engine_colormode): self.engine.colormode(None, {'colormode': 'RGB'}) mock_engine_colormode.assert_called_once_with(None, 'RGB') @mock.patch( 'thumbnails.engines.base.BaseThumbnailEngine.engine_get_format', lambda *x: None) def test_get_format(self): self.assertEqual(self.engine.get_format(None, {}), 'JPEG') self.assertEqual(self.engine.get_format(None, {'format': 'WEBP'}), 'WEBP')
def setUp(self): self.engine = BaseThumbnailEngine()