test_v_db_droprow.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. class TestVDbDropRow(TestCase):
  10. """Test v.db.droprow script"""
  11. mapName = "elevation"
  12. inputMap = "rand5k_elev"
  13. outputMap = "rand5k_elev_filt"
  14. values = "min=100.013\nmax=149.102"
  15. @classmethod
  16. def setUpClass(cls):
  17. """Create maps in a small region."""
  18. cls.use_temp_region()
  19. cls.runModule('g.region', raster=cls.mapName, flags='p')
  20. @classmethod
  21. def tearDownClass(cls):
  22. """Remove temporary region"""
  23. cls.del_temp_region()
  24. cls.runModule('g.remove', flags='f', type='vector',
  25. name=(cls.inputMap, cls.outputMap))
  26. def test_drop_row_check(self):
  27. """Drop vector object from a vector map"""
  28. run_command("v.mkgrid", map=self.inputMap, grid=[10, 10], type="point")
  29. run_command(
  30. "v.db.addcolumn", map=self.inputMap, column="elevation double precision"
  31. )
  32. run_command(
  33. "v.what.rast", map=self.inputMap, raster=self.mapName, column=self.mapName
  34. )
  35. module = SimpleModule(
  36. "v.db.droprow",
  37. input=self.inputMap,
  38. output=self.outputMap,
  39. where="elevation < 100",
  40. )
  41. self.assertModule(module)
  42. self.assertVectorFitsUnivar(
  43. map=self.outputMap,
  44. column="elevation",
  45. reference=self.values,
  46. precision=0.001,
  47. )
  48. if __name__ == '__main__':
  49. test()