""" Part of the bsie test suite. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ # standard imports import importlib import os import unittest # bsie imports from bsie.utils import errors # objects to test from bsie.reader.image import Image ## code ## class TestImage(unittest.TestCase): def setUp(self): if __package__ is None or __package__ == '': # direct call or local discovery importlib.import_module('load_nef', __package__).get() else: # parent discovery importlib.import_module('.load_nef', __package__).get() def test_construct(self): image = Image({}) self.assertIsInstance(image, Image) self.assertEqual(len(image._children), 2) def test_call(self): image = Image({}) # call returns raw image img = image(os.path.join(os.path.dirname(__file__), 'testimage.nef')) self.assertEqual(img.size, (6016, 4016)) # FIXME: change when image was replaced img.close() # call returns jpeg image img = image(os.path.join(os.path.dirname(__file__), 'testimage.jpg')) self.assertEqual(img.size, (1, 1)) img.close() # call raises error if file cannot be read self.assertRaises(errors.ReaderError, image, os.path.join(os.path.dirname(__file__), 'invalid.nef')) self.assertRaises(errors.ReaderError, image, os.path.join(os.path.dirname(__file__), 'invalid.jpg')) ## main ## if __name__ == '__main__': unittest.main() ## EOF ##