summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2017-05-30 15:02:50 +0200
committerTim Graham <timograham@gmail.com>2017-05-30 09:02:50 -0400
commit9509268cea9ed1dfda5e66a25f4429a25bf40480 (patch)
tree4baec773c23ce32db7334f512da0210f147244f2 /tests
parent037d6540ecb7a60dca99162f6adedb2d879fa3ff (diff)
Refs #23804 -- Improved value validation in GDALRaster.geotransform setter.
Diffstat (limited to 'tests')
-rw-r--r--tests/gis_tests/gdal_tests/test_raster.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/gis_tests/gdal_tests/test_raster.py b/tests/gis_tests/gdal_tests/test_raster.py
index 9e23d78c68..5495178a13 100644
--- a/tests/gis_tests/gdal_tests/test_raster.py
+++ b/tests/gis_tests/gdal_tests/test_raster.py
@@ -103,6 +103,9 @@ class GDALRasterTests(SimpleTestCase):
self.assertEqual(self.rs.skew.y, 0)
# Create in-memory rasters and change gtvalues
rsmem = GDALRaster(JSON_RASTER)
+ # geotransform accepts both floats and ints
+ rsmem.geotransform = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
+ self.assertEqual(rsmem.geotransform, [0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
rsmem.geotransform = range(6)
self.assertEqual(rsmem.geotransform, [float(x) for x in range(6)])
self.assertEqual(rsmem.origin, [0, 3])
@@ -117,6 +120,18 @@ class GDALRasterTests(SimpleTestCase):
self.assertEqual(rsmem.width, 5)
self.assertEqual(rsmem.height, 5)
+ def test_geotransform_bad_inputs(self):
+ rsmem = GDALRaster(JSON_RASTER)
+ error_geotransforms = [
+ [1, 2],
+ [1, 2, 3, 4, 5, 'foo'],
+ [1, 2, 3, 4, 5, 6, 'foo'],
+ ]
+ msg = 'Geotransform must consist of 6 numeric values.'
+ for geotransform in error_geotransforms:
+ with self.subTest(i=geotransform), self.assertRaisesMessage(ValueError, msg):
+ rsmem.geotransform = geotransform
+
def test_rs_extent(self):
self.assertEqual(
self.rs.extent,