Pillow/Tests/test_image_getprojection.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
1000 B
Python
Raw Normal View History

from __future__ import annotations
2024-01-20 14:23:03 +03:00
from PIL import Image
2020-01-27 14:46:52 +03:00
from .helper import hopper
2024-01-25 14:18:46 +03:00
def test_sanity() -> None:
2020-01-27 14:46:52 +03:00
im = hopper()
2020-01-27 14:46:52 +03:00
projection = im.getprojection()
2020-01-27 14:46:52 +03:00
assert len(projection) == 2
assert len(projection[0]) == im.size[0]
assert len(projection[1]) == im.size[1]
2020-01-27 14:46:52 +03:00
# 8-bit image
im = Image.new("L", (10, 10))
assert im.getprojection()[0] == [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
assert im.getprojection()[1] == [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
im.paste(255, (2, 4, 8, 6))
assert im.getprojection()[0] == [0, 0, 1, 1, 1, 1, 1, 1, 0, 0]
assert im.getprojection()[1] == [0, 0, 0, 0, 1, 1, 0, 0, 0, 0]
2020-01-27 14:46:52 +03:00
# 32-bit image
im = Image.new("RGB", (10, 10))
assert im.getprojection()[0] == [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
assert im.getprojection()[1] == [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
im.paste(255, (2, 4, 8, 6))
assert im.getprojection()[0] == [0, 0, 1, 1, 1, 1, 1, 1, 0, 0]
assert im.getprojection()[1] == [0, 0, 0, 0, 1, 1, 0, 0, 0, 0]