from __future__ import annotations from PIL import Image from .helper import hopper def test_sanity() -> None: im = hopper() projection = im.getprojection() assert len(projection) == 2 assert len(projection[0]) == im.size[0] assert len(projection[1]) == im.size[1] # 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] # 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]