From 4f7eb22ed327b3f264171e9d43c4f939587bf561 Mon Sep 17 00:00:00 2001 From: Nat Wilson Date: Sat, 8 Oct 2016 11:07:13 -0700 Subject: [PATCH] add basic slope / aspect tests --- tests/band_tests.py | 3 +++ tests/raster_misc_tests.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/tests/band_tests.py b/tests/band_tests.py index ab4a771..934fae2 100644 --- a/tests/band_tests.py +++ b/tests/band_tests.py @@ -21,6 +21,7 @@ def test_setblock_getblock_full(self): band[:, :] = d self.assertEqual(np.sum(band[:,:] - d), 0.0) + return def test_setblock_getblock_partial(self): @@ -31,6 +32,7 @@ def test_setblock_getblock_partial(self): band[128:960, :] = d self.assertEqual(np.sum(band[128:960,:]-d), 0.0) + return def test_setblock_getblock_striped(self): @@ -41,6 +43,7 @@ def test_setblock_getblock_striped(self): band[::2, 128:960:3] = d self.assertEqual(np.sum(band[::2,128:960:3]-d), 0.0) + return def test_get_scalar(self): diff --git a/tests/raster_misc_tests.py b/tests/raster_misc_tests.py index c6f74a0..09582c6 100644 --- a/tests/raster_misc_tests.py +++ b/tests/raster_misc_tests.py @@ -83,6 +83,34 @@ def test_hillshade(self): 0.87979538950981906])) return + def test_slope(self): + x = np.arange(64) + y = np.arange(64).reshape(-1, 1) + grid = RegularGrid((0, 0, 10, 10, 0, 0), values=x*np.ones_like(y)) + slope = misc.slope(grid) + self.assertTrue(np.all(0.1 == slope[:,:])) + + grid = RegularGrid((0, 0, 10, 10, 0, 0), values=x+y) + slope = misc.slope(grid) + self.assertTrue(np.allclose(0.14142136, slope[:,:])) + return + + def test_aspect(self): + x = np.arange(64) + y = np.arange(64).reshape(-1, 1) + grid = RegularGrid((0, 0, 10, 10, 0, 0), values=x*np.ones_like(y)) + aspect = misc.aspect(grid) + self.assertTrue(np.all(np.pi == aspect[1:-1,1:-1])) + self.assertTrue(np.all(np.isnan(aspect[0,:]))) + self.assertTrue(np.all(np.isnan(aspect[-1,:]))) + self.assertTrue(np.all(np.isnan(aspect[:,0]))) + self.assertTrue(np.all(np.isnan(aspect[:,-1]))) + + grid = RegularGrid((0, 0, 10, 10, 0, 0), values=np.ones_like(x)*y) + aspect = misc.aspect(grid) + self.assertTrue(np.allclose(0.5*np.pi, aspect[1:-1,1:-1])) + pass + if __name__ == "__main__": unittest.main()