mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 09:57:43 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from helper import unittest, PillowTestCase, hopper
 | 
						|
 | 
						|
from PIL import Image
 | 
						|
from PIL import ImageStat
 | 
						|
 | 
						|
 | 
						|
class TestImageStat(PillowTestCase):
 | 
						|
 | 
						|
    def test_sanity(self):
 | 
						|
 | 
						|
        im = hopper()
 | 
						|
 | 
						|
        st = ImageStat.Stat(im)
 | 
						|
        st = ImageStat.Stat(im.histogram())
 | 
						|
        st = ImageStat.Stat(im, Image.new("1", im.size, 1))
 | 
						|
 | 
						|
        # Check these run. Exceptions will cause failures.
 | 
						|
        st.extrema
 | 
						|
        st.sum
 | 
						|
        st.mean
 | 
						|
        st.median
 | 
						|
        st.rms
 | 
						|
        st.sum2
 | 
						|
        st.var
 | 
						|
        st.stddev
 | 
						|
 | 
						|
        self.assertRaises(AttributeError, lambda: st.spam)
 | 
						|
 | 
						|
        self.assertRaises(TypeError, lambda: ImageStat.Stat(1))
 | 
						|
 | 
						|
    def test_hopper(self):
 | 
						|
 | 
						|
        im = hopper()
 | 
						|
 | 
						|
        st = ImageStat.Stat(im)
 | 
						|
 | 
						|
        # verify a few values
 | 
						|
        self.assertEqual(st.extrema[0], (0, 255))
 | 
						|
        self.assertEqual(st.median[0], 72)
 | 
						|
        self.assertEqual(st.sum[0], 1470218)
 | 
						|
        self.assertEqual(st.sum[1], 1311896)
 | 
						|
        self.assertEqual(st.sum[2], 1563008)
 | 
						|
 | 
						|
    def test_constant(self):
 | 
						|
 | 
						|
        im = Image.new("L", (128, 128), 128)
 | 
						|
 | 
						|
        st = ImageStat.Stat(im)
 | 
						|
 | 
						|
        self.assertEqual(st.extrema[0], (128, 128))
 | 
						|
        self.assertEqual(st.sum[0], 128**3)
 | 
						|
        self.assertEqual(st.sum2[0], 128**4)
 | 
						|
        self.assertEqual(st.mean[0], 128)
 | 
						|
        self.assertEqual(st.median[0], 128)
 | 
						|
        self.assertEqual(st.rms[0], 128)
 | 
						|
        self.assertEqual(st.var[0], 0)
 | 
						|
        self.assertEqual(st.stddev[0], 0)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    unittest.main()
 | 
						|
 | 
						|
# End of file
 |