123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- """Test of r.support basic functionality
- @author Maris Nartiss
- @copyright 2021 by Maris Nartiss and the GRASS Development Team
- @license This program is free software under the GNU General Public License (>=v2).
- Read the file COPYING that comes with GRASS
- for details
- """
- import random
- import string
- from grass.gunittest.case import TestCase
- from grass.gunittest.main import test
- from grass.script.core import tempname
- from grass.pygrass.gis import Mapset
- from grass.pygrass import utils
- from grass.lib.gis import G_remove_misc
- from grass.lib.raster import Rast_read_semantic_label
- class RSupportSemanticLabelHandlingTestCase(TestCase):
- @classmethod
- def setUpClass(cls):
- cls.map = tempname(10)
- cls.mapset = Mapset().name
- cls.semantic_label = "The_Doors"
- cls.use_temp_region()
- cls.runModule("g.region", n=1, s=0, e=1, w=0, res=1)
- cls.runModule("r.mapcalc", expression="{} = 1".format(cls.map))
- @classmethod
- def tearDownClass(cls):
- cls.del_temp_region()
- cls.runModule("g.remove", flags="f", type="raster", name=cls.map)
- def test_exclusitivity(self):
- self.assertModuleFail(
- "r.support", map=self.map, semantic_label=self.semantic_label, b=True
- )
- def test_semantic_label_invalid(self):
- self.assertModuleFail(
- "r.support",
- map=self.map,
- semantic_label="".join(random.choices(string.ascii_letters, k=256)),
- )
- def test_set_semantic_label(self):
- G_remove_misc("cell_misc", "semantic_label", self.map)
- self.assertModule("r.support", map=self.map, semantic_label=self.semantic_label)
- ret = utils.decode(Rast_read_semantic_label(self.map, self.mapset))
- self.assertEqual(ret, self.semantic_label)
- def test_remove_semantic_label(self):
- self.assertModule("r.support", map=self.map, semantic_label=self.semantic_label)
- ret = Rast_read_semantic_label(self.map, self.mapset)
- self.assertTrue(bool(ret))
- self.assertModule("r.support", map=self.map, b=True)
- ret = Rast_read_semantic_label(self.map, self.mapset)
- self.assertFalse(bool(ret))
- if __name__ == "__main__":
- test()
|