Pillow/Tests/test_imagestat.py
Brian Crowell ad784eb808 py3k: Import Christoph Gohlke's test suite
This is Christoph Gohlke's test suite from his personal PIL package found
at http://www.lfd.uci.edu/~gohlke/pythonlibs/.

This is just to bring it in as a separate commit. Future commits will align
it with Pillow.
2013-01-10 08:46:39 -06:00

53 lines
1.3 KiB
Python

from tester import *
from PIL import Image
from PIL import ImageStat
def test_sanity():
im = lena()
st = ImageStat.Stat(im)
st = ImageStat.Stat(im.histogram())
st = ImageStat.Stat(im, Image.new("1", im.size, 1))
assert_no_exception(lambda: st.extrema)
assert_no_exception(lambda: st.sum)
assert_no_exception(lambda: st.mean)
assert_no_exception(lambda: st.median)
assert_no_exception(lambda: st.rms)
assert_no_exception(lambda: st.sum2)
assert_no_exception(lambda: st.var)
assert_no_exception(lambda: st.stddev)
assert_exception(AttributeError, lambda: st.spam)
assert_exception(TypeError, lambda: ImageStat.Stat(1))
def test_lena():
im = lena()
st = ImageStat.Stat(im)
# verify a few values
assert_equal(st.extrema[0], (61, 255))
assert_equal(st.median[0], 197)
assert_equal(st.sum[0], 2954416)
assert_equal(st.sum[1], 2027250)
assert_equal(st.sum[2], 1727331)
def test_constant():
im = Image.new("L", (128, 128), 128)
st = ImageStat.Stat(im)
assert_equal(st.extrema[0], (128, 128))
assert_equal(st.sum[0], 128**3)
assert_equal(st.sum2[0], 128**4)
assert_equal(st.mean[0], 128)
assert_equal(st.median[0], 128)
assert_equal(st.rms[0], 128)
assert_equal(st.var[0], 0)
assert_equal(st.stddev[0], 0)