def test_has_duplicates_in_palette(self): duplicate_img = self.create_palette_img() duplicate_img.putpalette(0 for _ in range(256 * 3)) duplicate_palette = duplicate_img.getpalette() self.assertTrue(analyse.has_duplicates_in_palette(duplicate_palette)) fixed_palette = analyse.fix_palette(duplicate_img).getpalette() self.assertFalse(analyse.has_duplicates_in_palette(fixed_palette))
def test_fix_palette(self): img = self.create_palette_img() processed_img = analyse.fix_palette(img) palette = processed_img.getpalette() self.assertTrue(palette[0] == palette[1] == palette[2] == 0) self.assertTrue(palette[255 * 3] == palette[255 * 3 + 1] == palette[255 * 3 + 2] == 255)
def test_fix_palette(self): img = self.create_palette_img() processed_img = analyse.fix_palette(img) palette = processed_img.getpalette() self.assertTrue(palette[0] == palette[1] == palette[2] == 0) self.assertTrue( palette[255 * 3] == palette[255 * 3 + 1] == palette[255 * 3 + 2] == 255)
def test_fix_palette_no_palette(self): img = Image.new(mode='RGB', size=(100, 100), color=255) with self.assertRaisesRegexp(AssertionError, 'palette'): analyse.fix_palette(img)
def test_fix_palette_output(self): img = self.create_palette_img() with imgs.TempFile() as tmp_path: analyse.fix_palette(img, out_path=tmp_path) self.assertTrue(os.path.isfile(tmp_path))