""" Created on Sun Jun 09 11:28:34 2018 @author: Sanjeet Bhatti """ from grass.gunittest.case import TestCase from grass.gunittest.main import test from grass.gunittest.gmodules import SimpleModule from grass.script.core import run_command from grass.script.utils import decode class TestVDbAddColumn(TestCase): """Test v.db.addcolumn script""" @classmethod def setUpClass(cls): """Copy vector.""" run_command('g.copy', vector='roadsmajor,myroads') @classmethod def tearDownClass(cls): """Remove copied vector""" run_command('g.remove', type='vector', name='myroads', flags='f') def test_add_single_column_check(self): """Add column to the attribute table""" module = SimpleModule('v.db.addcolumn', map='myroads', columns='slope double precision') self.assertModule(module) m = SimpleModule('v.info', map='myroads', flags='c') self.assertModule(m) self.assertRegexpMatches(decode(m.outputs.stdout), 'slope') def test_add_two_columns_check(self): """Add two column to the attribute table""" module = SimpleModule('v.db.addcolumn', map='myroads', columns='slope_2 double precision, \ myname varchar(15)') self.assertModule(module) m = SimpleModule('v.info', map='myroads', flags='c') self.assertModule(m) self.assertRegexpMatches(decode(m.outputs.stdout), 'slope_2') self.assertRegexpMatches(decode(m.outputs.stdout), 'myname') if __name__ == '__main__': test()