|
@@ -0,0 +1,63 @@
|
|
|
+"""
|
|
|
+Name: r.basins.fill
|
|
|
+Purpose: Tests r.basins.fill and its flags/options.
|
|
|
+
|
|
|
+Author: Sunveer Singh
|
|
|
+Copyright: (C) 2017 by Sunveer Singh and the GRASS Development Team
|
|
|
+Licence: This program is free software under the GNU General Public
|
|
|
+ License (>=v2). Read the file COPYING that comes with GRASS
|
|
|
+ for details.
|
|
|
+"""
|
|
|
+from grass.gunittest.case import TestCase
|
|
|
+
|
|
|
+class TestRasterbasin(TestCase):
|
|
|
+ celevation='elevation'
|
|
|
+ tgeology='geology'
|
|
|
+ output='basinsoutput'
|
|
|
+ input="lakes"
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def setUpClass(cls):
|
|
|
+ seed = 500
|
|
|
+ cls.use_temp_region()
|
|
|
+ cls.runModule('g.region', raster=cls.tgeology, flags='p')
|
|
|
+ cls.runModule('r.watershed', elevation='elevation', stream=cls.celevation, threshold='50000', overwrite=True)
|
|
|
+ cls.runModule('r.geomorphon', elevation=cls.celevation, forms=cls.tgeology, overwrite=True)
|
|
|
+ cls.runModule('r.mapcalc', seed=seed, expression='rand_cell = rand(1, 200)', overwrite=True)
|
|
|
+ cls.runModule('r.thin', input=cls.input, output=cls.output)
|
|
|
+
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def tearDownClass(cls):
|
|
|
+ cls.del_temp_region()
|
|
|
+
|
|
|
+ def tearDown(cls):
|
|
|
+ cls.runModule('g.remove', flags='f', type='raster', name=cls.output)
|
|
|
+
|
|
|
+ def test_no1(self):
|
|
|
+ lakes='lakes'
|
|
|
+ self.assertModule('r.basins.fill', cnetwork=self.celevation, tnetwork=self.tgeology, output=self.output, number='1', overwrite=True)
|
|
|
+ self.assertRasterMinMax(map=lakes, refmin=34300, refmax=43600,
|
|
|
+ msg="lakes in degrees must be between 34300 and 43600")
|
|
|
+
|
|
|
+ def test_no2(self):
|
|
|
+ soils='soils'
|
|
|
+ self.assertModule('r.basins.fill', cnetwork=self.celevation, tnetwork=self.tgeology, output=self.output, number='3')
|
|
|
+ self.assertRasterMinMax(map=soils, refmin=18683, refmax=46555,
|
|
|
+ msg="soils in degrees must be between 18683 and 46555")
|
|
|
+
|
|
|
+ def test_no3(self):
|
|
|
+ landuse='landuse'
|
|
|
+ self.assertModule('r.basins.fill', cnetwork=self.celevation, tnetwork=self.tgeology, output=self.output, number='4')
|
|
|
+ self.assertRasterMinMax(map=landuse, refmin=1, refmax=7,
|
|
|
+ msg="landuse in degrees must be between 1 and 7")
|
|
|
+
|
|
|
+ def test_no4(self):
|
|
|
+ rand_cell='rand_cell'
|
|
|
+ self.assertModule('r.basins.fill', cnetwork=self.celevation, tnetwork=self.tgeology, output=self.output, number='5')
|
|
|
+ self.assertRasterMinMax(map=rand_cell, refmin=1, refmax=199,
|
|
|
+ msg="rand_cell in degrees must be between 1 and 199")
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ from grass.gunittest.main import test
|
|
|
+ test()
|