test_v_db_addcolumn.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. """
  2. Created on Sun Jun 09 11:28: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 TestVDbAddColumn(TestCase):
  11. """Test v.db.addcolumn script"""
  12. @classmethod
  13. def setUpClass(cls):
  14. """Copy vector."""
  15. run_command("g.copy", vector="roadsmajor,myroads")
  16. @classmethod
  17. def tearDownClass(cls):
  18. """Remove copied vector"""
  19. run_command("g.remove", type="vector", name="myroads", flags="f")
  20. def test_add_single_column_check(self):
  21. """Add column to the attribute table"""
  22. module = SimpleModule(
  23. "v.db.addcolumn", map="myroads", columns="slope double precision"
  24. )
  25. self.assertModule(module)
  26. m = SimpleModule("v.info", map="myroads", flags="c")
  27. self.assertModule(m)
  28. self.assertRegexpMatches(decode(m.outputs.stdout), "slope")
  29. def test_add_two_columns_check(self):
  30. """Add two column to the attribute table"""
  31. module = SimpleModule(
  32. "v.db.addcolumn",
  33. map="myroads",
  34. columns="slope_2 double precision, \
  35. myname varchar(15)",
  36. )
  37. self.assertModule(module)
  38. m = SimpleModule("v.info", map="myroads", flags="c")
  39. self.assertModule(m)
  40. self.assertRegexpMatches(decode(m.outputs.stdout), "slope_2")
  41. self.assertRegexpMatches(decode(m.outputs.stdout), "myname")
  42. if __name__ == "__main__":
  43. test()