test_v_db_droprow.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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(
  25. "g.remove", flags="f", type="vector", name=(cls.inputMap, cls.outputMap)
  26. )
  27. def test_drop_row_check(self):
  28. """Drop vector object from a vector map"""
  29. run_command("v.mkgrid", map=self.inputMap, grid=[10, 10], type="point")
  30. run_command(
  31. "v.db.addcolumn", map=self.inputMap, column="elevation double precision"
  32. )
  33. run_command(
  34. "v.what.rast", map=self.inputMap, raster=self.mapName, column=self.mapName
  35. )
  36. module = SimpleModule(
  37. "v.db.droprow",
  38. input=self.inputMap,
  39. output=self.outputMap,
  40. where="elevation < 100",
  41. )
  42. self.assertModule(module)
  43. self.assertVectorFitsUnivar(
  44. map=self.outputMap,
  45. column="elevation",
  46. reference=self.values,
  47. precision=0.001,
  48. )
  49. if __name__ == "__main__":
  50. test()