test_v_db_addcolumn.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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',
  20. flags='f')
  21. def test_add_single_column_check(self):
  22. """Add column to the attribute table"""
  23. module = SimpleModule('v.db.addcolumn', map='myroads',
  24. columns='slope double precision')
  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('v.db.addcolumn', map='myroads',
  32. columns='slope_2 double precision, \
  33. myname varchar(15)')
  34. self.assertModule(module)
  35. m = SimpleModule('v.info', map='myroads', flags='c')
  36. self.assertModule(m)
  37. self.assertRegexpMatches(decode(m.outputs.stdout), 'slope_2')
  38. self.assertRegexpMatches(decode(m.outputs.stdout), 'myname')
  39. if __name__ == '__main__':
  40. test()