mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-28 02:04:36 +03:00
Merge pull request #4369 from jdufresne/pytest
Convert some tests to pytest style
This commit is contained in:
commit
22a6738a81
|
@ -1,23 +1,19 @@
|
||||||
import PIL
|
import PIL
|
||||||
import PIL.Image
|
import PIL.Image
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
|
def test_sanity():
|
||||||
|
# Make sure we have the binary extension
|
||||||
|
PIL.Image.core.new("L", (100, 100))
|
||||||
|
|
||||||
class TestSanity(PillowTestCase):
|
# Create an image and do stuff with it.
|
||||||
def test_sanity(self):
|
im = PIL.Image.new("1", (100, 100))
|
||||||
|
assert (im.mode, im.size) == ("1", (100, 100))
|
||||||
|
assert len(im.tobytes()) == 1300
|
||||||
|
|
||||||
# Make sure we have the binary extension
|
# Create images in all remaining major modes.
|
||||||
PIL.Image.core.new("L", (100, 100))
|
PIL.Image.new("L", (100, 100))
|
||||||
|
PIL.Image.new("P", (100, 100))
|
||||||
# Create an image and do stuff with it.
|
PIL.Image.new("RGB", (100, 100))
|
||||||
im = PIL.Image.new("1", (100, 100))
|
PIL.Image.new("I", (100, 100))
|
||||||
self.assertEqual((im.mode, im.size), ("1", (100, 100)))
|
PIL.Image.new("F", (100, 100))
|
||||||
self.assertEqual(len(im.tobytes()), 1300)
|
|
||||||
|
|
||||||
# Create images in all remaining major modes.
|
|
||||||
PIL.Image.new("L", (100, 100))
|
|
||||||
PIL.Image.new("P", (100, 100))
|
|
||||||
PIL.Image.new("RGB", (100, 100))
|
|
||||||
PIL.Image.new("I", (100, 100))
|
|
||||||
PIL.Image.new("F", (100, 100))
|
|
||||||
|
|
|
@ -1,23 +1,22 @@
|
||||||
from PIL import _binary
|
from PIL import _binary
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
def test_standard():
|
||||||
|
assert _binary.i8(b"*") == 42
|
||||||
|
assert _binary.o8(42) == b"*"
|
||||||
|
|
||||||
|
|
||||||
class TestBinary(PillowTestCase):
|
def test_little_endian():
|
||||||
def test_standard(self):
|
assert _binary.i16le(b"\xff\xff\x00\x00") == 65535
|
||||||
self.assertEqual(_binary.i8(b"*"), 42)
|
assert _binary.i32le(b"\xff\xff\x00\x00") == 65535
|
||||||
self.assertEqual(_binary.o8(42), b"*")
|
|
||||||
|
|
||||||
def test_little_endian(self):
|
assert _binary.o16le(65535) == b"\xff\xff"
|
||||||
self.assertEqual(_binary.i16le(b"\xff\xff\x00\x00"), 65535)
|
assert _binary.o32le(65535) == b"\xff\xff\x00\x00"
|
||||||
self.assertEqual(_binary.i32le(b"\xff\xff\x00\x00"), 65535)
|
|
||||||
|
|
||||||
self.assertEqual(_binary.o16le(65535), b"\xff\xff")
|
|
||||||
self.assertEqual(_binary.o32le(65535), b"\xff\xff\x00\x00")
|
|
||||||
|
|
||||||
def test_big_endian(self):
|
def test_big_endian():
|
||||||
self.assertEqual(_binary.i16be(b"\x00\x00\xff\xff"), 0)
|
assert _binary.i16be(b"\x00\x00\xff\xff") == 0
|
||||||
self.assertEqual(_binary.i32be(b"\x00\x00\xff\xff"), 65535)
|
assert _binary.i32be(b"\x00\x00\xff\xff") == 65535
|
||||||
|
|
||||||
self.assertEqual(_binary.o16be(65535), b"\xff\xff")
|
assert _binary.o16be(65535) == b"\xff\xff"
|
||||||
self.assertEqual(_binary.o32be(65535), b"\x00\x00\xff\xff")
|
assert _binary.o32be(65535) == b"\x00\x00\xff\xff"
|
||||||
|
|
|
@ -14,12 +14,11 @@ sample.putdata(sum([
|
||||||
# fmt: on
|
# fmt: on
|
||||||
|
|
||||||
|
|
||||||
class TestBoxBlurApi(PillowTestCase):
|
def test_imageops_box_blur():
|
||||||
def test_imageops_box_blur(self):
|
i = sample.filter(ImageFilter.BoxBlur(1))
|
||||||
i = sample.filter(ImageFilter.BoxBlur(1))
|
assert i.mode == sample.mode
|
||||||
self.assertEqual(i.mode, sample.mode)
|
assert i.size == sample.size
|
||||||
self.assertEqual(i.size, sample.size)
|
assert isinstance(i, Image.Image)
|
||||||
self.assertIsInstance(i, Image.Image)
|
|
||||||
|
|
||||||
|
|
||||||
class TestBoxBlur(PillowTestCase):
|
class TestBoxBlur(PillowTestCase):
|
||||||
|
|
|
@ -6,29 +6,29 @@ from PIL import Image
|
||||||
from .helper import PillowTestCase, is_pypy
|
from .helper import PillowTestCase, is_pypy
|
||||||
|
|
||||||
|
|
||||||
class TestCoreStats(PillowTestCase):
|
def test_get_stats():
|
||||||
def test_get_stats(self):
|
# Create at least one image
|
||||||
# Create at least one image
|
Image.new("RGB", (10, 10))
|
||||||
Image.new("RGB", (10, 10))
|
|
||||||
|
|
||||||
stats = Image.core.get_stats()
|
stats = Image.core.get_stats()
|
||||||
self.assertIn("new_count", stats)
|
assert "new_count" in stats
|
||||||
self.assertIn("reused_blocks", stats)
|
assert "reused_blocks" in stats
|
||||||
self.assertIn("freed_blocks", stats)
|
assert "freed_blocks" in stats
|
||||||
self.assertIn("allocated_blocks", stats)
|
assert "allocated_blocks" in stats
|
||||||
self.assertIn("reallocated_blocks", stats)
|
assert "reallocated_blocks" in stats
|
||||||
self.assertIn("blocks_cached", stats)
|
assert "blocks_cached" in stats
|
||||||
|
|
||||||
def test_reset_stats(self):
|
|
||||||
Image.core.reset_stats()
|
|
||||||
|
|
||||||
stats = Image.core.get_stats()
|
def test_reset_stats():
|
||||||
self.assertEqual(stats["new_count"], 0)
|
Image.core.reset_stats()
|
||||||
self.assertEqual(stats["reused_blocks"], 0)
|
|
||||||
self.assertEqual(stats["freed_blocks"], 0)
|
stats = Image.core.get_stats()
|
||||||
self.assertEqual(stats["allocated_blocks"], 0)
|
assert stats["new_count"] == 0
|
||||||
self.assertEqual(stats["reallocated_blocks"], 0)
|
assert stats["reused_blocks"] == 0
|
||||||
self.assertEqual(stats["blocks_cached"], 0)
|
assert stats["freed_blocks"] == 0
|
||||||
|
assert stats["allocated_blocks"] == 0
|
||||||
|
assert stats["reallocated_blocks"] == 0
|
||||||
|
assert stats["blocks_cached"] == 0
|
||||||
|
|
||||||
|
|
||||||
class TestCoreMemory(PillowTestCase):
|
class TestCoreMemory(PillowTestCase):
|
||||||
|
|
|
@ -1,42 +1,46 @@
|
||||||
|
import pytest
|
||||||
from PIL import BufrStubImagePlugin, Image
|
from PIL import BufrStubImagePlugin, Image
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
TEST_FILE = "Tests/images/gfs.t06z.rassda.tm00.bufr_d"
|
TEST_FILE = "Tests/images/gfs.t06z.rassda.tm00.bufr_d"
|
||||||
|
|
||||||
|
|
||||||
class TestFileBufrStub(PillowTestCase):
|
def test_open():
|
||||||
def test_open(self):
|
# Act
|
||||||
# Act
|
with Image.open(TEST_FILE) as im:
|
||||||
with Image.open(TEST_FILE) as im:
|
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.assertEqual(im.format, "BUFR")
|
assert im.format == "BUFR"
|
||||||
|
|
||||||
# Dummy data from the stub
|
# Dummy data from the stub
|
||||||
self.assertEqual(im.mode, "F")
|
assert im.mode == "F"
|
||||||
self.assertEqual(im.size, (1, 1))
|
assert im.size == (1, 1)
|
||||||
|
|
||||||
def test_invalid_file(self):
|
|
||||||
# Arrange
|
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
|
||||||
|
|
||||||
# Act / Assert
|
def test_invalid_file():
|
||||||
self.assertRaises(
|
# Arrange
|
||||||
SyntaxError, BufrStubImagePlugin.BufrStubImageFile, invalid_file
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
)
|
|
||||||
|
|
||||||
def test_load(self):
|
# Act / Assert
|
||||||
# Arrange
|
with pytest.raises(SyntaxError):
|
||||||
with Image.open(TEST_FILE) as im:
|
BufrStubImagePlugin.BufrStubImageFile(invalid_file)
|
||||||
|
|
||||||
# Act / Assert: stub cannot load without an implemented handler
|
|
||||||
self.assertRaises(IOError, im.load)
|
|
||||||
|
|
||||||
def test_save(self):
|
def test_load():
|
||||||
# Arrange
|
# Arrange
|
||||||
im = hopper()
|
with Image.open(TEST_FILE) as im:
|
||||||
tmpfile = self.tempfile("temp.bufr")
|
|
||||||
|
|
||||||
# Act / Assert: stub cannot save without an implemented handler
|
# Act / Assert: stub cannot load without an implemented handler
|
||||||
self.assertRaises(IOError, im.save, tmpfile)
|
with pytest.raises(IOError):
|
||||||
|
im.load()
|
||||||
|
|
||||||
|
|
||||||
|
def test_save(tmp_path):
|
||||||
|
# Arrange
|
||||||
|
im = hopper()
|
||||||
|
tmpfile = str(tmp_path / "temp.bufr")
|
||||||
|
|
||||||
|
# Act / Assert: stub cannot save without an implemented handler
|
||||||
|
with pytest.raises(IOError):
|
||||||
|
im.save(tmpfile)
|
||||||
|
|
|
@ -1,125 +1,133 @@
|
||||||
from PIL import ContainerIO, Image
|
from PIL import ContainerIO, Image
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
TEST_FILE = "Tests/images/dummy.container"
|
TEST_FILE = "Tests/images/dummy.container"
|
||||||
|
|
||||||
|
|
||||||
class TestFileContainer(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
dir(Image)
|
||||||
dir(Image)
|
dir(ContainerIO)
|
||||||
dir(ContainerIO)
|
|
||||||
|
|
||||||
def test_isatty(self):
|
|
||||||
with hopper() as im:
|
|
||||||
container = ContainerIO.ContainerIO(im, 0, 0)
|
|
||||||
|
|
||||||
self.assertFalse(container.isatty())
|
def test_isatty():
|
||||||
|
with hopper() as im:
|
||||||
|
container = ContainerIO.ContainerIO(im, 0, 0)
|
||||||
|
|
||||||
def test_seek_mode_0(self):
|
assert container.isatty() is False
|
||||||
# Arrange
|
|
||||||
mode = 0
|
|
||||||
with open(TEST_FILE) as fh:
|
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
|
||||||
|
|
||||||
# Act
|
|
||||||
container.seek(33, mode)
|
|
||||||
container.seek(33, mode)
|
|
||||||
|
|
||||||
# Assert
|
def test_seek_mode_0():
|
||||||
self.assertEqual(container.tell(), 33)
|
# Arrange
|
||||||
|
mode = 0
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
def test_seek_mode_1(self):
|
# Act
|
||||||
# Arrange
|
container.seek(33, mode)
|
||||||
mode = 1
|
container.seek(33, mode)
|
||||||
with open(TEST_FILE) as fh:
|
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
|
||||||
|
|
||||||
# Act
|
# Assert
|
||||||
container.seek(33, mode)
|
assert container.tell() == 33
|
||||||
container.seek(33, mode)
|
|
||||||
|
|
||||||
# Assert
|
|
||||||
self.assertEqual(container.tell(), 66)
|
|
||||||
|
|
||||||
def test_seek_mode_2(self):
|
def test_seek_mode_1():
|
||||||
# Arrange
|
# Arrange
|
||||||
mode = 2
|
mode = 1
|
||||||
with open(TEST_FILE) as fh:
|
with open(TEST_FILE) as fh:
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
container.seek(33, mode)
|
container.seek(33, mode)
|
||||||
container.seek(33, mode)
|
container.seek(33, mode)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.assertEqual(container.tell(), 100)
|
assert container.tell() == 66
|
||||||
|
|
||||||
def test_read_n0(self):
|
|
||||||
# Arrange
|
|
||||||
with open(TEST_FILE) as fh:
|
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
|
||||||
|
|
||||||
# Act
|
def test_seek_mode_2():
|
||||||
container.seek(81)
|
# Arrange
|
||||||
data = container.read()
|
mode = 2
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
# Assert
|
# Act
|
||||||
self.assertEqual(data, "7\nThis is line 8\n")
|
container.seek(33, mode)
|
||||||
|
container.seek(33, mode)
|
||||||
|
|
||||||
def test_read_n(self):
|
# Assert
|
||||||
# Arrange
|
assert container.tell() == 100
|
||||||
with open(TEST_FILE) as fh:
|
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
|
||||||
|
|
||||||
# Act
|
|
||||||
container.seek(81)
|
|
||||||
data = container.read(3)
|
|
||||||
|
|
||||||
# Assert
|
def test_read_n0():
|
||||||
self.assertEqual(data, "7\nT")
|
# Arrange
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
def test_read_eof(self):
|
# Act
|
||||||
# Arrange
|
container.seek(81)
|
||||||
with open(TEST_FILE) as fh:
|
data = container.read()
|
||||||
container = ContainerIO.ContainerIO(fh, 22, 100)
|
|
||||||
|
|
||||||
# Act
|
# Assert
|
||||||
container.seek(100)
|
assert data == "7\nThis is line 8\n"
|
||||||
data = container.read()
|
|
||||||
|
|
||||||
# Assert
|
|
||||||
self.assertEqual(data, "")
|
|
||||||
|
|
||||||
def test_readline(self):
|
def test_read_n():
|
||||||
# Arrange
|
# Arrange
|
||||||
with open(TEST_FILE) as fh:
|
with open(TEST_FILE) as fh:
|
||||||
container = ContainerIO.ContainerIO(fh, 0, 120)
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
data = container.readline()
|
container.seek(81)
|
||||||
|
data = container.read(3)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.assertEqual(data, "This is line 1\n")
|
assert data == "7\nT"
|
||||||
|
|
||||||
def test_readlines(self):
|
|
||||||
# Arrange
|
|
||||||
expected = [
|
|
||||||
"This is line 1\n",
|
|
||||||
"This is line 2\n",
|
|
||||||
"This is line 3\n",
|
|
||||||
"This is line 4\n",
|
|
||||||
"This is line 5\n",
|
|
||||||
"This is line 6\n",
|
|
||||||
"This is line 7\n",
|
|
||||||
"This is line 8\n",
|
|
||||||
]
|
|
||||||
with open(TEST_FILE) as fh:
|
|
||||||
container = ContainerIO.ContainerIO(fh, 0, 120)
|
|
||||||
|
|
||||||
# Act
|
def test_read_eof():
|
||||||
data = container.readlines()
|
# Arrange
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 22, 100)
|
||||||
|
|
||||||
# Assert
|
# Act
|
||||||
|
container.seek(100)
|
||||||
|
data = container.read()
|
||||||
|
|
||||||
self.assertEqual(data, expected)
|
# Assert
|
||||||
|
assert data == ""
|
||||||
|
|
||||||
|
|
||||||
|
def test_readline():
|
||||||
|
# Arrange
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 0, 120)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
data = container.readline()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
assert data == "This is line 1\n"
|
||||||
|
|
||||||
|
|
||||||
|
def test_readlines():
|
||||||
|
# Arrange
|
||||||
|
expected = [
|
||||||
|
"This is line 1\n",
|
||||||
|
"This is line 2\n",
|
||||||
|
"This is line 3\n",
|
||||||
|
"This is line 4\n",
|
||||||
|
"This is line 5\n",
|
||||||
|
"This is line 6\n",
|
||||||
|
"This is line 7\n",
|
||||||
|
"This is line 8\n",
|
||||||
|
]
|
||||||
|
with open(TEST_FILE) as fh:
|
||||||
|
container = ContainerIO.ContainerIO(fh, 0, 120)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
data = container.readlines()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
|
||||||
|
assert data == expected
|
||||||
|
|
|
@ -1,20 +1,22 @@
|
||||||
|
import pytest
|
||||||
from PIL import GdImageFile, UnidentifiedImageError
|
from PIL import GdImageFile, UnidentifiedImageError
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
TEST_GD_FILE = "Tests/images/hopper.gd"
|
TEST_GD_FILE = "Tests/images/hopper.gd"
|
||||||
|
|
||||||
|
|
||||||
class TestFileGd(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
with GdImageFile.open(TEST_GD_FILE) as im:
|
||||||
with GdImageFile.open(TEST_GD_FILE) as im:
|
assert im.size == (128, 128)
|
||||||
self.assertEqual(im.size, (128, 128))
|
assert im.format == "GD"
|
||||||
self.assertEqual(im.format, "GD")
|
|
||||||
|
|
||||||
def test_bad_mode(self):
|
|
||||||
self.assertRaises(ValueError, GdImageFile.open, TEST_GD_FILE, "bad mode")
|
|
||||||
|
|
||||||
def test_invalid_file(self):
|
def test_bad_mode():
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
with pytest.raises(ValueError):
|
||||||
|
GdImageFile.open(TEST_GD_FILE, "bad mode")
|
||||||
|
|
||||||
self.assertRaises(UnidentifiedImageError, GdImageFile.open, invalid_file)
|
|
||||||
|
def test_invalid_file():
|
||||||
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
with pytest.raises(UnidentifiedImageError):
|
||||||
|
GdImageFile.open(invalid_file)
|
||||||
|
|
|
@ -1,29 +1,31 @@
|
||||||
|
import pytest
|
||||||
from PIL.GimpPaletteFile import GimpPaletteFile
|
from PIL.GimpPaletteFile import GimpPaletteFile
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
|
def test_sanity():
|
||||||
|
with open("Tests/images/test.gpl", "rb") as fp:
|
||||||
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
class TestImage(PillowTestCase):
|
with open("Tests/images/hopper.jpg", "rb") as fp:
|
||||||
def test_sanity(self):
|
with pytest.raises(SyntaxError):
|
||||||
with open("Tests/images/test.gpl", "rb") as fp:
|
|
||||||
GimpPaletteFile(fp)
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
with open("Tests/images/hopper.jpg", "rb") as fp:
|
with open("Tests/images/bad_palette_file.gpl", "rb") as fp:
|
||||||
self.assertRaises(SyntaxError, GimpPaletteFile, fp)
|
with pytest.raises(SyntaxError):
|
||||||
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
with open("Tests/images/bad_palette_file.gpl", "rb") as fp:
|
with open("Tests/images/bad_palette_entry.gpl", "rb") as fp:
|
||||||
self.assertRaises(SyntaxError, GimpPaletteFile, fp)
|
with pytest.raises(ValueError):
|
||||||
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
with open("Tests/images/bad_palette_entry.gpl", "rb") as fp:
|
|
||||||
self.assertRaises(ValueError, GimpPaletteFile, fp)
|
|
||||||
|
|
||||||
def test_get_palette(self):
|
def test_get_palette():
|
||||||
# Arrange
|
# Arrange
|
||||||
with open("Tests/images/custom_gimp_palette.gpl", "rb") as fp:
|
with open("Tests/images/custom_gimp_palette.gpl", "rb") as fp:
|
||||||
palette_file = GimpPaletteFile(fp)
|
palette_file = GimpPaletteFile(fp)
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
palette, mode = palette_file.getpalette()
|
palette, mode = palette_file.getpalette()
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.assertEqual(mode, "RGB")
|
assert mode == "RGB"
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
from PIL import WalImageFile
|
from PIL import WalImageFile
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
|
def test_open():
|
||||||
|
# Arrange
|
||||||
|
TEST_FILE = "Tests/images/hopper.wal"
|
||||||
|
|
||||||
class TestFileWal(PillowTestCase):
|
# Act
|
||||||
def test_open(self):
|
im = WalImageFile.open(TEST_FILE)
|
||||||
# Arrange
|
|
||||||
TEST_FILE = "Tests/images/hopper.wal"
|
|
||||||
|
|
||||||
# Act
|
# Assert
|
||||||
im = WalImageFile.open(TEST_FILE)
|
assert im.format == "WAL"
|
||||||
|
assert im.format_description == "Quake2 Texture"
|
||||||
# Assert
|
assert im.mode == "P"
|
||||||
self.assertEqual(im.format, "WAL")
|
assert im.size == (128, 128)
|
||||||
self.assertEqual(im.format_description, "Quake2 Texture")
|
|
||||||
self.assertEqual(im.mode, "P")
|
|
||||||
self.assertEqual(im.size, (128, 128))
|
|
||||||
|
|
|
@ -1,39 +1,38 @@
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
def test_white():
|
||||||
|
with Image.open("Tests/images/lab.tif") as i:
|
||||||
|
i.load()
|
||||||
|
|
||||||
|
assert i.mode == "LAB"
|
||||||
|
|
||||||
|
assert i.getbands() == ("L", "A", "B")
|
||||||
|
|
||||||
|
k = i.getpixel((0, 0))
|
||||||
|
|
||||||
|
L = i.getdata(0)
|
||||||
|
a = i.getdata(1)
|
||||||
|
b = i.getdata(2)
|
||||||
|
|
||||||
|
assert k == (255, 128, 128)
|
||||||
|
|
||||||
|
assert list(L) == [255] * 100
|
||||||
|
assert list(a) == [128] * 100
|
||||||
|
assert list(b) == [128] * 100
|
||||||
|
|
||||||
|
|
||||||
class TestFormatLab(PillowTestCase):
|
def test_green():
|
||||||
def test_white(self):
|
# l= 50 (/100), a = -100 (-128 .. 128) b=0 in PS
|
||||||
with Image.open("Tests/images/lab.tif") as i:
|
# == RGB: 0, 152, 117
|
||||||
i.load()
|
with Image.open("Tests/images/lab-green.tif") as i:
|
||||||
|
k = i.getpixel((0, 0))
|
||||||
|
assert k == (128, 28, 128)
|
||||||
|
|
||||||
self.assertEqual(i.mode, "LAB")
|
|
||||||
|
|
||||||
self.assertEqual(i.getbands(), ("L", "A", "B"))
|
def test_red():
|
||||||
|
# l= 50 (/100), a = 100 (-128 .. 128) b=0 in PS
|
||||||
k = i.getpixel((0, 0))
|
# == RGB: 255, 0, 124
|
||||||
|
with Image.open("Tests/images/lab-red.tif") as i:
|
||||||
L = i.getdata(0)
|
k = i.getpixel((0, 0))
|
||||||
a = i.getdata(1)
|
assert k == (128, 228, 128)
|
||||||
b = i.getdata(2)
|
|
||||||
|
|
||||||
self.assertEqual(k, (255, 128, 128))
|
|
||||||
|
|
||||||
self.assertEqual(list(L), [255] * 100)
|
|
||||||
self.assertEqual(list(a), [128] * 100)
|
|
||||||
self.assertEqual(list(b), [128] * 100)
|
|
||||||
|
|
||||||
def test_green(self):
|
|
||||||
# l= 50 (/100), a = -100 (-128 .. 128) b=0 in PS
|
|
||||||
# == RGB: 0, 152, 117
|
|
||||||
with Image.open("Tests/images/lab-green.tif") as i:
|
|
||||||
k = i.getpixel((0, 0))
|
|
||||||
self.assertEqual(k, (128, 28, 128))
|
|
||||||
|
|
||||||
def test_red(self):
|
|
||||||
# l= 50 (/100), a = 100 (-128 .. 128) b=0 in PS
|
|
||||||
# == RGB: 255, 0, 124
|
|
||||||
with Image.open("Tests/images/lab-red.tif") as i:
|
|
||||||
k = i.getpixel((0, 0))
|
|
||||||
self.assertEqual(k, (128, 228, 128))
|
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
|
def test_getbands():
|
||||||
class TestImageGetBands(PillowTestCase):
|
assert Image.new("1", (1, 1)).getbands() == ("1",)
|
||||||
def test_getbands(self):
|
assert Image.new("L", (1, 1)).getbands() == ("L",)
|
||||||
self.assertEqual(Image.new("1", (1, 1)).getbands(), ("1",))
|
assert Image.new("I", (1, 1)).getbands() == ("I",)
|
||||||
self.assertEqual(Image.new("L", (1, 1)).getbands(), ("L",))
|
assert Image.new("F", (1, 1)).getbands() == ("F",)
|
||||||
self.assertEqual(Image.new("I", (1, 1)).getbands(), ("I",))
|
assert Image.new("P", (1, 1)).getbands() == ("P",)
|
||||||
self.assertEqual(Image.new("F", (1, 1)).getbands(), ("F",))
|
assert Image.new("RGB", (1, 1)).getbands() == ("R", "G", "B")
|
||||||
self.assertEqual(Image.new("P", (1, 1)).getbands(), ("P",))
|
assert Image.new("RGBA", (1, 1)).getbands() == ("R", "G", "B", "A")
|
||||||
self.assertEqual(Image.new("RGB", (1, 1)).getbands(), ("R", "G", "B"))
|
assert Image.new("CMYK", (1, 1)).getbands() == ("C", "M", "Y", "K")
|
||||||
self.assertEqual(Image.new("RGBA", (1, 1)).getbands(), ("R", "G", "B", "A"))
|
assert Image.new("YCbCr", (1, 1)).getbands() == ("Y", "Cb", "Cr")
|
||||||
self.assertEqual(Image.new("CMYK", (1, 1)).getbands(), ("C", "M", "Y", "K"))
|
|
||||||
self.assertEqual(Image.new("YCbCr", (1, 1)).getbands(), ("Y", "Cb", "Cr"))
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImageGetBbox(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
|
||||||
|
|
||||||
bbox = hopper().getbbox()
|
bbox = hopper().getbbox()
|
||||||
self.assertIsInstance(bbox, tuple)
|
assert isinstance(bbox, tuple)
|
||||||
|
|
||||||
def test_bbox(self):
|
|
||||||
|
|
||||||
# 8-bit mode
|
def test_bbox():
|
||||||
im = Image.new("L", (100, 100), 0)
|
|
||||||
self.assertIsNone(im.getbbox())
|
|
||||||
|
|
||||||
im.paste(255, (10, 25, 90, 75))
|
# 8-bit mode
|
||||||
self.assertEqual(im.getbbox(), (10, 25, 90, 75))
|
im = Image.new("L", (100, 100), 0)
|
||||||
|
assert im.getbbox() is None
|
||||||
|
|
||||||
im.paste(255, (25, 10, 75, 90))
|
im.paste(255, (10, 25, 90, 75))
|
||||||
self.assertEqual(im.getbbox(), (10, 10, 90, 90))
|
assert im.getbbox() == (10, 25, 90, 75)
|
||||||
|
|
||||||
im.paste(255, (-10, -10, 110, 110))
|
im.paste(255, (25, 10, 75, 90))
|
||||||
self.assertEqual(im.getbbox(), (0, 0, 100, 100))
|
assert im.getbbox() == (10, 10, 90, 90)
|
||||||
|
|
||||||
# 32-bit mode
|
im.paste(255, (-10, -10, 110, 110))
|
||||||
im = Image.new("RGB", (100, 100), 0)
|
assert im.getbbox() == (0, 0, 100, 100)
|
||||||
self.assertIsNone(im.getbbox())
|
|
||||||
|
|
||||||
im.paste(255, (10, 25, 90, 75))
|
# 32-bit mode
|
||||||
self.assertEqual(im.getbbox(), (10, 25, 90, 75))
|
im = Image.new("RGB", (100, 100), 0)
|
||||||
|
assert im.getbbox() is None
|
||||||
|
|
||||||
im.paste(255, (25, 10, 75, 90))
|
im.paste(255, (10, 25, 90, 75))
|
||||||
self.assertEqual(im.getbbox(), (10, 10, 90, 90))
|
assert im.getbbox() == (10, 25, 90, 75)
|
||||||
|
|
||||||
im.paste(255, (-10, -10, 110, 110))
|
im.paste(255, (25, 10, 75, 90))
|
||||||
self.assertEqual(im.getbbox(), (0, 0, 100, 100))
|
assert im.getbbox() == (10, 10, 90, 90)
|
||||||
|
|
||||||
|
im.paste(255, (-10, -10, 110, 110))
|
||||||
|
assert im.getbbox() == (0, 0, 100, 100)
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImageGetIm(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
im = hopper()
|
||||||
im = hopper()
|
type_repr = repr(type(im.getim()))
|
||||||
type_repr = repr(type(im.getim()))
|
|
||||||
|
|
||||||
self.assertIn("PyCapsule", type_repr)
|
assert "PyCapsule" in type_repr
|
||||||
self.assertIsInstance(im.im.id, int)
|
assert isinstance(im.im.id, int)
|
||||||
|
|
|
@ -1,20 +1,19 @@
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImageGetPalette(PillowTestCase):
|
def test_palette():
|
||||||
def test_palette(self):
|
def palette(mode):
|
||||||
def palette(mode):
|
p = hopper(mode).getpalette()
|
||||||
p = hopper(mode).getpalette()
|
if p:
|
||||||
if p:
|
return p[:10]
|
||||||
return p[:10]
|
return None
|
||||||
return None
|
|
||||||
|
|
||||||
self.assertIsNone(palette("1"))
|
assert palette("1") is None
|
||||||
self.assertIsNone(palette("L"))
|
assert palette("L") is None
|
||||||
self.assertIsNone(palette("I"))
|
assert palette("I") is None
|
||||||
self.assertIsNone(palette("F"))
|
assert palette("F") is None
|
||||||
self.assertEqual(palette("P"), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
|
assert palette("P") == [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
self.assertIsNone(palette("RGB"))
|
assert palette("RGB") is None
|
||||||
self.assertIsNone(palette("RGBA"))
|
assert palette("RGBA") is None
|
||||||
self.assertIsNone(palette("CMYK"))
|
assert palette("CMYK") is None
|
||||||
self.assertIsNone(palette("YCbCr"))
|
assert palette("YCbCr") is None
|
||||||
|
|
|
@ -1,33 +1,40 @@
|
||||||
|
import pytest
|
||||||
from PIL import ImagePalette
|
from PIL import ImagePalette
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImagePutPalette(PillowTestCase):
|
def test_putpalette():
|
||||||
def test_putpalette(self):
|
def palette(mode):
|
||||||
def palette(mode):
|
im = hopper(mode).copy()
|
||||||
im = hopper(mode).copy()
|
im.putpalette(list(range(256)) * 3)
|
||||||
im.putpalette(list(range(256)) * 3)
|
p = im.getpalette()
|
||||||
p = im.getpalette()
|
if p:
|
||||||
if p:
|
return im.mode, p[:10]
|
||||||
return im.mode, p[:10]
|
return im.mode
|
||||||
return im.mode
|
|
||||||
|
|
||||||
self.assertRaises(ValueError, palette, "1")
|
with pytest.raises(ValueError):
|
||||||
for mode in ["L", "LA", "P", "PA"]:
|
palette("1")
|
||||||
self.assertEqual(
|
for mode in ["L", "LA", "P", "PA"]:
|
||||||
palette(mode),
|
assert palette(mode) == (
|
||||||
("PA" if "A" in mode else "P", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
|
"PA" if "A" in mode else "P",
|
||||||
)
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
||||||
self.assertRaises(ValueError, palette, "I")
|
)
|
||||||
self.assertRaises(ValueError, palette, "F")
|
with pytest.raises(ValueError):
|
||||||
self.assertRaises(ValueError, palette, "RGB")
|
palette("I")
|
||||||
self.assertRaises(ValueError, palette, "RGBA")
|
with pytest.raises(ValueError):
|
||||||
self.assertRaises(ValueError, palette, "YCbCr")
|
palette("F")
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
palette("RGB")
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
palette("RGBA")
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
palette("YCbCr")
|
||||||
|
|
||||||
def test_imagepalette(self):
|
|
||||||
im = hopper("P")
|
def test_imagepalette():
|
||||||
im.putpalette(ImagePalette.negative())
|
im = hopper("P")
|
||||||
im.putpalette(ImagePalette.random())
|
im.putpalette(ImagePalette.negative())
|
||||||
im.putpalette(ImagePalette.sepia())
|
im.putpalette(ImagePalette.random())
|
||||||
im.putpalette(ImagePalette.wedge())
|
im.putpalette(ImagePalette.sepia())
|
||||||
|
im.putpalette(ImagePalette.wedge())
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImageToBytes(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
data = hopper().tobytes()
|
||||||
data = hopper().tobytes()
|
assert isinstance(data, bytes)
|
||||||
self.assertIsInstance(data, bytes)
|
|
||||||
|
|
|
@ -1,55 +1,59 @@
|
||||||
|
import pytest
|
||||||
from PIL import Image, ImageStat
|
from PIL import Image, ImageStat
|
||||||
|
|
||||||
from .helper import PillowTestCase, hopper
|
from .helper import hopper
|
||||||
|
|
||||||
|
|
||||||
class TestImageStat(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
|
||||||
|
|
||||||
im = hopper()
|
im = hopper()
|
||||||
|
|
||||||
st = ImageStat.Stat(im)
|
st = ImageStat.Stat(im)
|
||||||
st = ImageStat.Stat(im.histogram())
|
st = ImageStat.Stat(im.histogram())
|
||||||
st = ImageStat.Stat(im, Image.new("1", im.size, 1))
|
st = ImageStat.Stat(im, Image.new("1", im.size, 1))
|
||||||
|
|
||||||
# Check these run. Exceptions will cause failures.
|
# Check these run. Exceptions will cause failures.
|
||||||
st.extrema
|
st.extrema
|
||||||
st.sum
|
st.sum
|
||||||
st.mean
|
st.mean
|
||||||
st.median
|
st.median
|
||||||
st.rms
|
st.rms
|
||||||
st.sum2
|
st.sum2
|
||||||
st.var
|
st.var
|
||||||
st.stddev
|
st.stddev
|
||||||
|
|
||||||
self.assertRaises(AttributeError, lambda: st.spam)
|
with pytest.raises(AttributeError):
|
||||||
|
st.spam()
|
||||||
|
|
||||||
self.assertRaises(TypeError, ImageStat.Stat, 1)
|
with pytest.raises(TypeError):
|
||||||
|
ImageStat.Stat(1)
|
||||||
|
|
||||||
def test_hopper(self):
|
|
||||||
|
|
||||||
im = hopper()
|
def test_hopper():
|
||||||
|
|
||||||
st = ImageStat.Stat(im)
|
im = hopper()
|
||||||
|
|
||||||
# verify a few values
|
st = ImageStat.Stat(im)
|
||||||
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):
|
# verify a few values
|
||||||
|
assert st.extrema[0] == (0, 255)
|
||||||
|
assert st.median[0] == 72
|
||||||
|
assert st.sum[0] == 1470218
|
||||||
|
assert st.sum[1] == 1311896
|
||||||
|
assert st.sum[2] == 1563008
|
||||||
|
|
||||||
im = Image.new("L", (128, 128), 128)
|
|
||||||
|
|
||||||
st = ImageStat.Stat(im)
|
def test_constant():
|
||||||
|
|
||||||
self.assertEqual(st.extrema[0], (128, 128))
|
im = Image.new("L", (128, 128), 128)
|
||||||
self.assertEqual(st.sum[0], 128 ** 3)
|
|
||||||
self.assertEqual(st.sum2[0], 128 ** 4)
|
st = ImageStat.Stat(im)
|
||||||
self.assertEqual(st.mean[0], 128)
|
|
||||||
self.assertEqual(st.median[0], 128)
|
assert st.extrema[0] == (128, 128)
|
||||||
self.assertEqual(st.rms[0], 128)
|
assert st.sum[0] == 128 ** 3
|
||||||
self.assertEqual(st.var[0], 0)
|
assert st.sum2[0] == 128 ** 4
|
||||||
self.assertEqual(st.stddev[0], 0)
|
assert st.mean[0] == 128
|
||||||
|
assert st.median[0] == 128
|
||||||
|
assert st.rms[0] == 128
|
||||||
|
assert st.var[0] == 0
|
||||||
|
assert st.stddev[0] == 0
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
import locale
|
import locale
|
||||||
import unittest
|
|
||||||
|
|
||||||
|
import pytest
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
|
||||||
# ref https://github.com/python-pillow/Pillow/issues/272
|
# ref https://github.com/python-pillow/Pillow/issues/272
|
||||||
# on windows, in polish locale:
|
# on windows, in polish locale:
|
||||||
|
|
||||||
|
@ -23,17 +21,16 @@ from .helper import PillowTestCase
|
||||||
path = "Tests/images/hopper.jpg"
|
path = "Tests/images/hopper.jpg"
|
||||||
|
|
||||||
|
|
||||||
class TestLocale(PillowTestCase):
|
def test_sanity():
|
||||||
def test_sanity(self):
|
with Image.open(path):
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
locale.setlocale(locale.LC_ALL, "polish")
|
||||||
|
except locale.Error:
|
||||||
|
pytest.skip("Polish locale not available")
|
||||||
|
|
||||||
|
try:
|
||||||
with Image.open(path):
|
with Image.open(path):
|
||||||
pass
|
pass
|
||||||
try:
|
finally:
|
||||||
locale.setlocale(locale.LC_ALL, "polish")
|
locale.setlocale(locale.LC_ALL, (None, None))
|
||||||
except locale.Error:
|
|
||||||
unittest.skip("Polish locale not available")
|
|
||||||
|
|
||||||
try:
|
|
||||||
with Image.open(path):
|
|
||||||
pass
|
|
||||||
finally:
|
|
||||||
locale.setlocale(locale.LC_ALL, (None, None))
|
|
||||||
|
|
|
@ -1,34 +1,32 @@
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from unittest import TestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestMain(TestCase):
|
def test_main():
|
||||||
def test_main(self):
|
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
||||||
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
lines = out.splitlines()
|
||||||
lines = out.splitlines()
|
assert lines[0] == "-" * 68
|
||||||
self.assertEqual(lines[0], "-" * 68)
|
assert lines[1].startswith("Pillow ")
|
||||||
self.assertTrue(lines[1].startswith("Pillow "))
|
assert lines[2].startswith("Python ")
|
||||||
self.assertTrue(lines[2].startswith("Python "))
|
lines = lines[3:]
|
||||||
lines = lines[3:]
|
while lines[0].startswith(" "):
|
||||||
while lines[0].startswith(" "):
|
lines = lines[1:]
|
||||||
lines = lines[1:]
|
assert lines[0] == "-" * 68
|
||||||
self.assertEqual(lines[0], "-" * 68)
|
assert lines[1].startswith("Python modules loaded from ")
|
||||||
self.assertTrue(lines[1].startswith("Python modules loaded from "))
|
assert lines[2].startswith("Binary modules loaded from ")
|
||||||
self.assertTrue(lines[2].startswith("Binary modules loaded from "))
|
assert lines[3] == "-" * 68
|
||||||
self.assertEqual(lines[3], "-" * 68)
|
jpeg = (
|
||||||
jpeg = (
|
os.linesep
|
||||||
os.linesep
|
+ "-" * 68
|
||||||
+ "-" * 68
|
+ os.linesep
|
||||||
+ os.linesep
|
+ "JPEG image/jpeg"
|
||||||
+ "JPEG image/jpeg"
|
+ os.linesep
|
||||||
+ os.linesep
|
+ "Extensions: .jfif, .jpe, .jpeg, .jpg"
|
||||||
+ "Extensions: .jfif, .jpe, .jpeg, .jpg"
|
+ os.linesep
|
||||||
+ os.linesep
|
+ "Features: open, save"
|
||||||
+ "Features: open, save"
|
+ os.linesep
|
||||||
+ os.linesep
|
+ "-" * 68
|
||||||
+ "-" * 68
|
+ os.linesep
|
||||||
+ os.linesep
|
)
|
||||||
)
|
assert jpeg in out
|
||||||
self.assertIn(jpeg, out)
|
|
||||||
|
|
|
@ -1,70 +1,72 @@
|
||||||
import unittest
|
import pytest
|
||||||
|
|
||||||
from PIL import _util
|
from PIL import _util
|
||||||
|
|
||||||
from .helper import PillowTestCase
|
|
||||||
|
def test_is_path():
|
||||||
|
# Arrange
|
||||||
|
fp = "filename.ext"
|
||||||
|
|
||||||
|
# Act
|
||||||
|
it_is = _util.isPath(fp)
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
assert it_is
|
||||||
|
|
||||||
|
|
||||||
class TestUtil(PillowTestCase):
|
@pytest.mark.skipif(not _util.py36, reason="os.path support for Paths added in 3.6")
|
||||||
def test_is_path(self):
|
def test_path_obj_is_path():
|
||||||
# Arrange
|
# Arrange
|
||||||
fp = "filename.ext"
|
from pathlib import Path
|
||||||
|
|
||||||
# Act
|
test_path = Path("filename.ext")
|
||||||
it_is = _util.isPath(fp)
|
|
||||||
|
|
||||||
# Assert
|
# Act
|
||||||
self.assertTrue(it_is)
|
it_is = _util.isPath(test_path)
|
||||||
|
|
||||||
@unittest.skipUnless(_util.py36, "os.path support for Paths added in 3.6")
|
# Assert
|
||||||
def test_path_obj_is_path(self):
|
assert it_is
|
||||||
# Arrange
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
test_path = Path("filename.ext")
|
|
||||||
|
|
||||||
# Act
|
def test_is_not_path(tmp_path):
|
||||||
it_is = _util.isPath(test_path)
|
# Arrange
|
||||||
|
with (tmp_path / "temp.ext").open("w") as fp:
|
||||||
|
pass
|
||||||
|
|
||||||
# Assert
|
# Act
|
||||||
self.assertTrue(it_is)
|
it_is_not = _util.isPath(fp)
|
||||||
|
|
||||||
def test_is_not_path(self):
|
# Assert
|
||||||
# Arrange
|
assert not it_is_not
|
||||||
filename = self.tempfile("temp.ext")
|
|
||||||
fp = open(filename, "w").close()
|
|
||||||
|
|
||||||
# Act
|
|
||||||
it_is_not = _util.isPath(fp)
|
|
||||||
|
|
||||||
# Assert
|
def test_is_directory():
|
||||||
self.assertFalse(it_is_not)
|
# Arrange
|
||||||
|
directory = "Tests"
|
||||||
|
|
||||||
def test_is_directory(self):
|
# Act
|
||||||
# Arrange
|
it_is = _util.isDirectory(directory)
|
||||||
directory = "Tests"
|
|
||||||
|
|
||||||
# Act
|
# Assert
|
||||||
it_is = _util.isDirectory(directory)
|
assert it_is
|
||||||
|
|
||||||
# Assert
|
|
||||||
self.assertTrue(it_is)
|
|
||||||
|
|
||||||
def test_is_not_directory(self):
|
def test_is_not_directory():
|
||||||
# Arrange
|
# Arrange
|
||||||
text = "abc"
|
text = "abc"
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
it_is_not = _util.isDirectory(text)
|
it_is_not = _util.isDirectory(text)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.assertFalse(it_is_not)
|
assert not it_is_not
|
||||||
|
|
||||||
def test_deferred_error(self):
|
|
||||||
# Arrange
|
|
||||||
|
|
||||||
# Act
|
def test_deferred_error():
|
||||||
thing = _util.deferred_error(ValueError("Some error text"))
|
# Arrange
|
||||||
|
|
||||||
# Assert
|
# Act
|
||||||
self.assertRaises(ValueError, lambda: thing.some_attr)
|
thing = _util.deferred_error(ValueError("Some error text"))
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
thing.some_attr
|
||||||
|
|
Loading…
Reference in New Issue
Block a user