Explorar el Código

libgis: Added tests for libgis

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@61957 15284696-431f-4ddb-bdfa-cd5b030d7da7
Soeren Gebbert hace 10 años
padre
commit
3d92370b9f
Se han modificado 1 ficheros con 75 adiciones y 0 borrados
  1. 75 0
      lib/gis/testsuite/gis_lib_env_test.py

+ 75 - 0
lib/gis/testsuite/gis_lib_env_test.py

@@ -0,0 +1,75 @@
+"""Test of gis library environment management
+
+@author Soeren Gebbert
+"""
+from grass.gunittest.case import TestCase
+import grass.lib.gis as libgis 
+
+class GisLibraryTestEnv(TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        libgis.G_gisinit("GisLibraryTestEnv")
+        
+    def test_gisrc(self):
+        # File access
+        libgis.G_setenv("TEST", "A");
+
+        value = libgis.G_getenv("TEST")
+        self.assertEqual(value, "A")
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_GISRC)
+        self.assertEqual(value, "A")
+        
+        # In memory management
+        libgis.G__setenv("TEST", "B");
+
+        value = libgis.G__getenv("TEST")
+        self.assertEqual(value, "B")
+        value = libgis.G__getenv2("TEST", libgis.G_VAR_GISRC)
+        self.assertEqual(value, "B")
+        # Force reading
+        libgis.G__read_gisrc_env()
+        value = libgis.G_getenv("TEST")
+        self.assertEqual(value, "A")
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_GISRC)
+        self.assertEqual(value, "A")
+
+    def test_switch_env(self):
+        libgis.G__setenv("TEST", "SWITCH");
+        libgis.G__setenv2("TEST", "SWITCH2", libgis.G_VAR_MAPSET);
+        # Create alternative env
+        libgis.G_create_alt_env()
+        libgis.G__setenv("TEST", "TARGET");
+        libgis.G__setenv2("TEST", "TARGET2", libgis.G_VAR_MAPSET);
+        value = libgis.G_getenv("TEST")
+        self.assertEqual(value, "TARGET")
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
+        self.assertEqual(value, "TARGET2")
+        # Switch back to orig env
+        libgis.G_switch_env()
+        value = libgis.G_getenv("TEST")
+        self.assertEqual(value, "SWITCH")
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
+        self.assertEqual(value, "SWITCH2")
+
+    def test_mapset(self):
+        # Mapset VAR file
+        libgis.G_setenv2("TEST", "C", libgis.G_VAR_MAPSET);
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
+        self.assertEqual(value, "C")
+ 
+        libgis.G__setenv2("TEST", "D", libgis.G_VAR_MAPSET);
+        value = libgis.G__getenv2("TEST", libgis.G_VAR_MAPSET)
+        self.assertEqual(value, "D")
+        # Force reading
+        libgis.G__read_mapset_env()
+        value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
+        self.assertEqual(value, "C")
+        
+
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()
+
+