[GRASS-SVN] r66603 - in grass/trunk/scripts/v.rast.stats: . testsuite
svn_grass at osgeo.org
svn_grass at osgeo.org
Mon Oct 26 04:55:29 PDT 2015
Author: huhabla
Date: 2015-10-26 04:55:29 -0700 (Mon, 26 Oct 2015)
New Revision: 66603
Added:
grass/trunk/scripts/v.rast.stats/testsuite/
grass/trunk/scripts/v.rast.stats/testsuite/test_v_rast_stats.py
Modified:
grass/trunk/scripts/v.rast.stats/v.rast.stats.py
Log:
Added gunittest for v.rast.stats, removed the "-g" for table output from r.univar.
Added: grass/trunk/scripts/v.rast.stats/testsuite/test_v_rast_stats.py
===================================================================
--- grass/trunk/scripts/v.rast.stats/testsuite/test_v_rast_stats.py (rev 0)
+++ grass/trunk/scripts/v.rast.stats/testsuite/test_v_rast_stats.py 2015-10-26 11:55:29 UTC (rev 66603)
@@ -0,0 +1,73 @@
+"""Test of r.univar
+
+ at author Soeren Gebbert
+"""
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestRastStats(TestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ """Use temporary region settings"""
+ cls.use_temp_region()
+
+ @classmethod
+ def tearDownClass(cls):
+ """!Remove the temporary region
+ """
+ cls.del_temp_region()
+
+ def tearDown(self):
+ pass
+ self.runModule("g.remove", type="raster", name="map_a")
+ self.runModule("g.remove", type="raster", name="map_b")
+ self.runModule("g.remove", type="raster", name="zone_map")
+
+ def setUp(self):
+ """Create input data
+ """
+ self.runModule("g.region", res=1, n=90, s=0, w=0, e=90)
+ self.runModule("r.mapcalc", expression="map_a = 100 + row() + col()",
+ overwrite=True)
+ self.runModule("r.mapcalc", expression="zone_map = if(row() < 20, 1,2)",
+ overwrite=True)
+ self.runModule("r.to.vect", input="zone_map", output="zone_map",
+ type="area", overwrite=True)
+
+ def test_1(self):
+ # Output of v.rast.stats
+ univar_string="""cat|value|label|a_minimum|a_maximum|a_sum
+1|1||102|209|265905
+2|2||121|280|1281195
+"""
+
+ self.assertModule("v.rast.stats", map="zone_map", raster="map_a",
+ method=["minimum","maximum","sum"], flags="c",
+ column_prefix="a")
+ v_db_select = SimpleModule("v.db.select", map="zone_map")
+ self.runModule(v_db_select)
+
+ self.assertLooksLike(univar_string, v_db_select.outputs.stdout)
+
+class TestRastStatsFails(TestCase):
+
+ def test_error_handling_a(self):
+ # No vector map
+ self.assertModuleFail("v.rast.stats", raster="map_a",
+ column_prefix="a")
+
+ def test_error_handling_b(self):
+ # No raster map
+ self.assertModuleFail("v.rast.stats", map="zone_map",
+ column_prefix="a")
+
+ def test_error_handling_d(self):
+ # No column_prefix
+ self.assertModuleFail("v.rast.stats", map="zone_map", raster="map_b")
+
+if __name__ == '__main__':
+ from grass.gunittest.main import test
+ test()
+
+
Modified: grass/trunk/scripts/v.rast.stats/v.rast.stats.py
===================================================================
--- grass/trunk/scripts/v.rast.stats/v.rast.stats.py 2015-10-26 11:51:23 UTC (rev 66602)
+++ grass/trunk/scripts/v.rast.stats/v.rast.stats.py 2015-10-26 11:55:29 UTC (rev 66603)
@@ -245,7 +245,7 @@
f = file(sqltmp, 'w')
# do the stats
- p = grass.pipe_command('r.univar', flags='t' + 'g' + extstat, map=raster,
+ p = grass.pipe_command('r.univar', flags='t' + extstat, map=raster,
zones=rastertmp, percentile=percentile, sep=';')
first_line = 1
More information about the grass-commit
mailing list