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