diff --git a/glymur/lib/openjp2.py b/glymur/lib/openjp2.py index 10b6c3d..d43d7f7 100644 --- a/glymur/lib/openjp2.py +++ b/glymur/lib/openjp2.py @@ -548,6 +548,13 @@ class ImageComptParmType(ctypes.Structure): # signed (1) / unsigned (0) ("sgnd", ctypes.c_uint32)] + def __str__(self): + msg = "{0}:\n".format(self.__class__) + for field_name, _ in self._fields_: + msg += " {0}: {1}\n".format( + field_name, getattr(self, field_name)) + return msg + class TccpInfo(ctypes.Structure): """Tile-component coding parameters information. diff --git a/glymur/lib/test/fixtures.py b/glymur/lib/test/fixtures.py index dc94e7c..4f2bbfb 100644 --- a/glymur/lib/test/fixtures.py +++ b/glymur/lib/test/fixtures.py @@ -116,3 +116,14 @@ default_compression_parameters_type = """: + dx: 0 + dy: 0 + w: 0 + h: 0 + x0: 0 + y0: 0 + prec: 0 + bpp: 0 + sgnd: 0""" diff --git a/glymur/lib/test/test_printing.py b/glymur/lib/test/test_printing.py index 5204311..73c89a6 100644 --- a/glymur/lib/test/test_printing.py +++ b/glymur/lib/test/test_printing.py @@ -54,4 +54,14 @@ class TestPrintingOpenjp2(unittest.TestCase): expected = fixtures.default_compression_parameters_type self.assertEqual(actual, expected) + def test_default_component_parameters(self): + """printing default image component parameters""" + icpt = glymur.lib.openjp2.ImageComptParmType() + with patch('sys.stdout', new=StringIO()) as fake_out: + print(icpt) + actual = fake_out.getvalue().strip() + expected = fixtures.default_image_component_parameters + self.assertEqual(actual, expected) + +