test_r_fillnulls.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. """
  2. Created on Sun Jun 07 21:57:07 2018
  3. @author: Sanjeet Bhatti
  4. """
  5. import os
  6. from grass.gunittest.case import TestCase
  7. from grass.gunittest.main import test
  8. from grass.gunittest.gmodules import SimpleModule
  9. from grass.script.core import run_command
  10. class TestRFillNulls(TestCase):
  11. """Test r.fillnulls script"""
  12. module_dir = os.path.dirname(os.path.dirname(__file__))
  13. module = os.path.join(module_dir, 'r.fillnulls')
  14. mapName = 'elevation'
  15. expression = 'elevation_filt = if(elevation > 130, \
  16. null(), elevation)'
  17. mapNameCalc = 'elevation_filt'
  18. mapComplete = 'elevation_complete'
  19. values = 'null_cells=0'
  20. def setUp(self):
  21. """Create maps in a small region."""
  22. self.use_temp_region()
  23. self.runModule('g.region', res=200, raster=self.mapName, flags='ap')
  24. run_command('r.mapcalc', expression=self.expression)
  25. def tearDown(self):
  26. """Remove temporary region"""
  27. self.runModule('g.remove', flags='f', type='raster',
  28. name=(self.mapNameCalc, self.mapComplete))
  29. self.del_temp_region()
  30. def test_rst(self):
  31. module = SimpleModule(self.module, input=self.mapNameCalc,
  32. output=self.mapComplete, segmax=1200,
  33. npmin=100, tension=150)
  34. self.assertModule(module)
  35. self.assertRasterFitsUnivar(raster=self.mapComplete,
  36. reference=self.values)
  37. def test_bspline(self):
  38. module = SimpleModule(self.module, input=self.mapNameCalc,
  39. output=self.mapComplete, method='bicubic')
  40. self.assertModule(module)
  41. self.assertRasterFitsUnivar(raster=self.mapComplete,
  42. reference=self.values)
  43. if __name__ == '__main__':
  44. test()