Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Unified Diff: chrome/test/functional/ispy/ispy_core/Tests/ImageToolsTests/image_tools_test.py

Issue 16855010: Python Tools for Pixel-by-Pixel Image Comparison (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Set up folder structure, added bucket manager and tests. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/functional/ispy/ispy_core/Tests/ImageToolsTests/image_tools_test.py
diff --git a/chrome/test/functional/ispy/ispy_core/Tests/ImageToolsTests/image_tools_test.py b/chrome/test/functional/ispy/ispy_core/Tests/ImageToolsTests/image_tools_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..3014d7369a7b17c3bd2867c590d6920c0ab49466
--- /dev/null
+++ b/chrome/test/functional/ispy/ispy_core/Tests/ImageToolsTests/image_tools_test.py
@@ -0,0 +1,188 @@
+# Copyright (c) 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+from PIL import Image
+from Tools import image_tools
+
+
+def _GenImage(size, color):
+ return Image.new('RGB', size, color)
+
+
+def _AllPixelsOfColor(image, color):
+ return not any(px != color for px in image.getdata())
+
+
+class ImageToolsTest(unittest.TestCase):
+
+ def testAreTheSameSize(self):
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ black50x50 = _GenImage((50, 50), (0, 0, 0))
+ white50x50 = _GenImage((50, 50), (255, 255, 255))
+
+ self.assertTrue(image_tools._AreTheSameSize([black25x25, black25x25]))
+ self.assertTrue(image_tools._AreTheSameSize([white25x25, white25x25]))
+ self.assertTrue(image_tools._AreTheSameSize([black50x50, black50x50]))
+ self.assertTrue(image_tools._AreTheSameSize([white50x50, white50x50]))
+ self.assertTrue(image_tools._AreTheSameSize([black25x25, white25x25]))
+ self.assertTrue(image_tools._AreTheSameSize([black50x50, white50x50]))
+
+ self.assertFalse(image_tools._AreTheSameSize([black50x50, black25x25]))
+ self.assertFalse(image_tools._AreTheSameSize([white50x50, white25x25]))
+ self.assertFalse(image_tools._AreTheSameSize([black25x25, white50x50]))
+ self.assertFalse(image_tools._AreTheSameSize([black50x50, white25x25]))
+
+ self.assertRaises(Exception, image_tools._AreTheSameSize, [])
+ self.assertRaises(Exception, image_tools._AreTheSameSize, [black50x50])
+
+ def testGetDifferenceWithMask(self):
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ black50x50 = _GenImage((50, 50), (0, 0, 0))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, black25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ white25x25, white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ white25x25, black25x25), (255, 255, 255)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, black25x25, mask=black25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, black25x25, mask=white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, white25x25, mask=black25x25), (255, 255, 255)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, white25x25, mask=white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ black25x25, white25x25, different_color=(255, 0, 0)), (255, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ white25x25, white25x25, same_color=(255, 0, 0)), (255, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools._GetDifferenceWithMask(
+ white25x25, white25x25,
+ mask=white25x25, masked_color=(255, 0, 0)), (255, 0, 0)))
+ self.assertRaises(Exception, image_tools._GetDifferenceWithMask,
+ white25x25,
+ black50x50)
+ self.assertRaises(Exception, image_tools._GetDifferenceWithMask,
+ white25x25,
+ white25x25,
+ mask=black50x50)
+
+ def testCreateMask(self):
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+
+ m1 = image_tools.CreateMask([black25x25, white25x25])
+ self.assertTrue(_AllPixelsOfColor(m1, (255, 255, 255)))
+ m2 = image_tools.CreateMask([black25x25, black25x25])
+ self.assertTrue(_AllPixelsOfColor(m2, (0, 0, 0)))
+ m3 = image_tools.CreateMask([white25x25, white25x25])
+ self.assertTrue(_AllPixelsOfColor(m3, (0, 0, 0)))
+
+ def testTotalDifferentPixels(self):
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ white50x50 = _GenImage((50, 50), (255, 255, 255))
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ white25x25),
+ 0)
+ self.assertEquals(image_tools.TotalDifferentPixels(black25x25,
+ black25x25),
+ 0)
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ black25x25),
+ 25*25)
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ black25x25,
+ mask=white25x25),
+ 0)
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ white25x25,
+ mask=white25x25),
+ 0)
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ black25x25,
+ mask=black25x25),
+ 25*25)
+ self.assertEquals(image_tools.TotalDifferentPixels(white25x25,
+ white25x25,
+ mask=black25x25),
+ 0)
+ self.assertRaises(Exception, image_tools.TotalDifferentPixels,
+ white25x25, white50x50)
+ self.assertRaises(Exception, image_tools.TotalDifferentPixels,
+ white25x25, white25x25, mask=white50x50)
+
+ def testSameImage(self):
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white50x50 = _GenImage((50, 50), (255, 255, 255))
+
+ self.assertTrue(image_tools.SameImage(white25x25, white25x25))
+ self.assertFalse(image_tools.SameImage(white25x25, black25x25))
+
+ self.assertTrue(image_tools.SameImage(white25x25, black25x25,
+ mask=white25x25))
+ self.assertFalse(image_tools.SameImage(white25x25, black25x25,
+ mask=black25x25))
+ self.assertTrue(image_tools.SameImage(black25x25, black25x25))
+ self.assertTrue(image_tools.SameImage(black25x25, black25x25,
+ mask=white25x25))
+ self.assertTrue(image_tools.SameImage(white25x25, white25x25,
+ mask=white25x25))
+ self.assertRaises(Exception, image_tools.SameImage,
+ white25x25, white50x50)
+ self.assertRaises(Exception, image_tools.SameImage,
+ white25x25, white25x25,
+ mask=white50x50)
+
+ def testVisualizeImageDifferences(self):
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white50x50 = _GenImage((50, 50), (255, 255, 255))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, black25x25), (255, 255, 255)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ black25x25, black25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, black25x25, mask=white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, black25x25, mask=black25x25), (255, 255, 255)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, white25x25, mask=white25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ white25x25, white25x25, mask=black25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ black25x25, black25x25, mask=black25x25), (0, 0, 0)))
+ self.assertTrue(_AllPixelsOfColor(image_tools.VisualizeImageDifferences(
+ black25x25, black25x25, mask=white25x25), (0, 0, 0)))
+
+ self.assertRaises(Exception,
+ image_tools.VisualizeImageDifferences,
+ white25x25,
+ white50x50)
+ self.assertRaises(Exception,
+ image_tools.VisualizeImageDifferences,
+ white25x25,
+ black25x25,
+ mask=white50x50)
+
+ def testSerialization(self):
+ black25x25 = _GenImage((25, 25), (0, 0, 0))
+ white25x25 = _GenImage((25, 25), (255, 255, 255))
+ self.assertTrue(_AllPixelsOfColor(
+ image_tools.DeserializeImage(
+ image_tools.SerializeImage(white25x25)), (255, 255, 255)))
+ self.assertTrue(_AllPixelsOfColor(
+ image_tools.DeserializeImage(
+ image_tools.SerializeImage(black25x25)), (0, 0, 0)))
+
+
+#if __name__ == '__main__':
+# unittest.main()

Powered by Google App Engine
This is Rietveld 408576698