Merge pull request #2430 from hugovk/test-fitstub

Test FitsStubImagePlugin for correctness
This commit is contained in:
wiredfool 2017-03-01 09:12:55 +00:00 committed by GitHub
commit 820a7e1c9f
2 changed files with 35 additions and 1 deletions

BIN
Tests/images/hopper.fits Normal file

Binary file not shown.

View File

@ -1,17 +1,51 @@
from helper import unittest, PillowTestCase
from PIL import FitsStubImagePlugin
from PIL import FitsStubImagePlugin, Image
TEST_FILE = "Tests/images/hopper.fits"
class TestFileFitsStub(PillowTestCase):
def test_open(self):
# Act
im = Image.open(TEST_FILE)
# Assert
self.assertEqual(im.format, "FITS")
# Dummy data from the stub
self.assertEqual(im.mode, "F")
self.assertEqual(im.size, (1, 1))
def test_invalid_file(self):
# Arrange
invalid_file = "Tests/images/flower.jpg"
# Act / Assert
self.assertRaises(SyntaxError,
lambda:
FitsStubImagePlugin.FITSStubImageFile(invalid_file))
def test_load(self):
# Arrange
im = Image.open(TEST_FILE)
# Act / Assert: stub cannot load without an implemented handler
self.assertRaises(IOError, lambda: im.load())
def test_save(self):
# Arrange
im = Image.open(TEST_FILE)
dummy_fp = None
dummy_filename = "dummy.filename"
# Act / Assert: stub cannot save without an implemented handler
self.assertRaises(IOError, lambda: im.save(dummy_filename))
self.assertRaises(
IOError,
lambda: FitsStubImagePlugin._save(im, dummy_fp, dummy_filename))
if __name__ == '__main__':
unittest.main()