diff --git a/tests/data/images/24989_ndvi.tif b/tests/data/images/24989_ndvi.tif new file mode 100644 index 000000000..daf2f70b7 Binary files /dev/null and b/tests/data/images/24989_ndvi.tif differ diff --git a/tests/data/images/24989_ndvi_uint16.tif b/tests/data/images/24989_ndvi_uint16.tif new file mode 100644 index 000000000..3036698be Binary files /dev/null and b/tests/data/images/24989_ndvi_uint16.tif differ diff --git a/tests/data/images/24989_ndvi_uint8.tif b/tests/data/images/24989_ndvi_uint8.tif new file mode 100644 index 000000000..c6a90d6ba Binary files /dev/null and b/tests/data/images/24989_ndvi_uint8.tif differ diff --git a/tests/data/images/24989_rgb_uint8.tif b/tests/data/images/24989_rgb_uint8.tif new file mode 100644 index 000000000..5ed7f06d3 Binary files /dev/null and b/tests/data/images/24989_rgb_uint8.tif differ diff --git a/tests/python_tests/image_tiff_test.py b/tests/python_tests/image_tiff_test.py new file mode 100644 index 000000000..d4ba0532f --- /dev/null +++ b/tests/python_tests/image_tiff_test.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +import os, mapnik +from timeit import Timer, time +from nose.tools import * +from utilities import execution_path, run_all + +def setup(): + # All of the paths used are relative, if we run the tests + # from another directory we need to chdir() + os.chdir(execution_path('.')) + +def test_tiff_rgba8_compare(): + filepath1 = '../data/images/24989_rgb_uint8.tif' + filepath2 = '/tmp/mapnik-tiff-rgba8.tiff' + im = mapnik.Image.open(filepath1) + im.save(filepath2,'tiff') + im2 = mapnik.Image.open(filepath2) + eq_(im.width(),im2.width()) + eq_(im.height(),im2.height()) + eq_(len(im.tostring()),len(im2.tostring())) + eq_(len(im.tostring('tiff')),len(im2.tostring('tiff'))) + +def test_tiff_uint8_compare(): + filepath1 = '../data/images/24989_ndvi_uint8.tif' + filepath2 = '/tmp/mapnik-tiff-uint8.tiff' + im = mapnik.Image.open(filepath1) + im.save(filepath2,'tiff') + im2 = mapnik.Image.open(filepath2) + eq_(im.width(),im2.width()) + eq_(im.height(),im2.height()) + eq_(len(im.tostring()),len(im2.tostring())) + eq_(len(im.tostring('tiff')),len(im2.tostring('tiff'))) + +def test_tiff_uint16_compare(): + filepath1 = '../data/images/24989_ndvi_uint16.tif' + filepath2 = '/tmp/mapnik-tiff-uint16.tiff' + im = mapnik.Image.open(filepath1) + im.save(filepath2,'tiff') + im2 = mapnik.Image.open(filepath2) + eq_(im.width(),im2.width()) + eq_(im.height(),im2.height()) + eq_(len(im.tostring()),len(im2.tostring())) + eq_(len(im.tostring('tiff')),len(im2.tostring('tiff'))) + +def test_tiff_float32_compare(): + filepath1 = '../data/images/24989_ndvi.tif' + filepath2 = '/tmp/mapnik-tiff-float32.tiff' + im = mapnik.Image.open(filepath1) + im.save(filepath2,'tiff') + im2 = mapnik.Image.open(filepath2) + eq_(im.width(),im2.width()) + eq_(im.height(),im2.height()) + eq_(len(im.tostring()),len(im2.tostring())) + eq_(len(im.tostring('tiff')),len(im2.tostring('tiff'))) +if __name__ == "__main__": + setup() + exit(run_all(eval(x) for x in dir() if x.startswith("test_")))