test_r_fillnulls.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. """
  2. Created on Sun Jun 07 21:57:07 2018
  3. @author: Sanjeet Bhatti
  4. """
  5. from grass.gunittest.case import TestCase
  6. from grass.gunittest.main import test
  7. from grass.gunittest.gmodules import SimpleModule
  8. from grass.script.core import run_command
  9. class TestRFillNulls(TestCase):
  10. """Test r.fillnulls script"""
  11. mapName = 'elev_srtm_30m'
  12. expression = 'elev_srtm_30m_filt = if(elev_srtm_30m < 50.0, \
  13. null(), elev_srtm_30m)'
  14. mapNameCalc = 'elev_srtm_30m_filt'
  15. mapComplete = 'elev_srtm_30m_complete'
  16. values = 'null_cells=0'
  17. @classmethod
  18. def setUpClass(cls):
  19. """Create maps in a small region."""
  20. cls.use_temp_region()
  21. cls.runModule('g.region', raster=cls.mapName, flags='p')
  22. @classmethod
  23. def tearDownClass(cls):
  24. """Remove temporary region"""
  25. cls.runModule('g.remove', flags='f', type='raster',
  26. name=(cls.mapNameCalc, cls.mapComplete))
  27. cls.del_temp_region()
  28. def test_fill_nulls(self):
  29. """Fill nulls test"""
  30. run_command('r.mapcalc', expression=self.expression)
  31. module = SimpleModule('r.fillnulls', input=self.mapNameCalc,
  32. output=self.mapComplete, tension=20)
  33. self.assertModule(module)
  34. self.assertRasterFitsUnivar(raster=self.mapComplete,
  35. reference=self.values)
  36. if __name__ == '__main__':
  37. test()