test_v_db_droprow.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. """
  2. Created on Sun Jun 09 01:52:34 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. from grass.script.utils import decode
  10. class TestVDbDropRow(TestCase):
  11. """Test v.db.droprow script"""
  12. mapName = 'elevation'
  13. inputMap = 'rand5k_elev'
  14. outputMap = 'rand5k_elev_filt'
  15. values = 'min=56.12\nmax=155.157'
  16. @classmethod
  17. def setUpClass(cls):
  18. """Create maps in a small region."""
  19. cls.use_temp_region()
  20. cls.runModule('g.region', raster=cls.mapName, flags='p')
  21. @classmethod
  22. def tearDownClass(cls):
  23. """Remove temporary region"""
  24. cls.del_temp_region()
  25. cls.runModule('g.remove', flags='f', type='vector',
  26. name=(cls.inputMap, cls.outputMap))
  27. def test_drop_row_check(self):
  28. """Drop vector object from a vector map"""
  29. run_command('v.random', output=self.inputMap, n=5000)
  30. run_command('v.db.addtable', map=self.inputMap,
  31. column="elevation double precision")
  32. run_command('v.what.rast', map=self.inputMap,
  33. raster=self.mapName, column=self.mapName)
  34. module = SimpleModule('v.db.droprow', input=self.inputMap,
  35. output=self.outputMap, where='elevation IS NULL')
  36. self.assertModule(module)
  37. self.assertVectorFitsUnivar(map=self.outputMap, column='elevation',
  38. reference=self.values, precision=5)
  39. if __name__ == '__main__':
  40. test()