""" 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()