def test_input_levels(self): scan = ImageScanner(palette=self.palette, levels=2, level_scale=2) img = scan.input(self.image) img = [scan.level(img, level) for level in range(scan.levels)] self.assertEqual(len(img), 2) self.assertEqual(img[0].mode, 'P') self.assertEqual(img[0].size, (1, 1)) self.assertIn(list(img[0].getdata()), [[0], [1]]) self.assertEqual(img[1].mode, 'P') self.assertEqual(img[1].size, (2, 2)) self.assertEqual(list(img[1].getdata()), [0, 2, 3, 1]) scan = ImageScanner(palette=self.palette, levels=3, level_scale=2) with self.assertRaises(ValueError): scan.input(self.image)
def test_input_level_scale(self): img = Image.new(mode='RGB', size=(48, 48)) scan = ImageScanner(palette=self.palette, levels=4, level_scale=[2, 3, 4]) img = scan.input(img) size = [scan.level(img, level).size for level in range(scan.levels)] self.assertEqual(size, [(2, 2), (4, 4), (12, 12), (48, 48)])
def test_image_scanner_input(test, image_test): scan = ImageScanner(resize=test) img = scan.input(image_test) assert img.size <= test assert img.mode == 'P' img = [scan.level(img, level) for level in range(scan.levels)] assert len(img) == 1 img = img[0] assert img.mode == 'P' assert img.size == (1, 1) assert list(img.getdata()) in [[0], [1]]
def test_input(self): tests = [(1, 1), (4, 1), (1, 4)] for test in tests: scan = ImageScanner(palette=self.palette, resize=test) img = scan.input(self.image) self.assertLessEqual(img.size, test) self.assertEqual(img.mode, 'RGB') img = [scan.level(img, level) for level in range(scan.levels)] self.assertEqual(len(img), 1) img = img[0] self.assertEqual(img.mode, 'P') self.assertEqual(img.size, (1, 1)) self.assertIn(list(img.getdata()), [[0], [1]])
def test_image_scanner_input_levels(image_test): scan = ImageScanner(resize=(4, 4), levels=3, level_scale=2) img = scan.input(image_test) img = [scan.level(img, level) for level in range(scan.levels)] assert len(img) == 3 assert img[0].mode == 'P' assert img[0].size == (1, 1) assert list(img[0].getdata()) in [[0], [1]] assert img[1].mode == 'P' assert img[1].size == (2, 2) assert list(img[1].getdata()) == [0, 2, 3, 1] assert img[2].mode == 'P' assert img[2].size == (4, 4) assert list( img[2].getdata()) == [0, 0, 2, 2, 0, 0, 2, 2, 3, 3, 1, 1, 3, 3, 1, 1]
def test_image_scanner_input_error(image_test): scan = ImageScanner(levels=3, level_scale=2) with pytest.raises(ValueError): scan.input(image_test)
def test_image_scanner_input_level_scale(): img = Image.new(mode='RGB', size=(48, 48)) scan = ImageScanner(levels=4, level_scale=[2, 3, 4]) img = scan.input(img) size = [scan.level(img, level).size for level in range(scan.levels)] assert size == [(2, 2), (4, 4), (12, 12), (48, 48)]