gis_lib_env_test.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. """Test of gis library environment management
  2. @author Soeren Gebbert
  3. """
  4. from grass.gunittest.case import TestCase
  5. import grass.lib.gis as libgis
  6. class GisLibraryTestEnv(TestCase):
  7. @classmethod
  8. def setUpClass(cls):
  9. libgis.G_gisinit("GisLibraryTestEnv")
  10. def test_gisrc(self):
  11. # File access
  12. libgis.G_setenv("TEST", "A")
  13. value = libgis.G_getenv("TEST")
  14. self.assertEqual(value, b"A")
  15. value = libgis.G_getenv2("TEST", libgis.G_VAR_GISRC)
  16. self.assertEqual(value, b"A")
  17. # In memory management
  18. libgis.G_setenv_nogisrc("TEST", "B")
  19. value = libgis.G_getenv_nofatal("TEST")
  20. self.assertEqual(value, b"B")
  21. value = libgis.G_getenv_nofatal2("TEST", libgis.G_VAR_GISRC)
  22. self.assertEqual(value, b"B")
  23. # Force reading
  24. libgis.G__read_gisrc_env()
  25. value = libgis.G_getenv("TEST")
  26. self.assertEqual(value, b"A")
  27. value = libgis.G_getenv2("TEST", libgis.G_VAR_GISRC)
  28. self.assertEqual(value, b"A")
  29. def test_switch_env(self):
  30. libgis.G_setenv_nogisrc("TEST", "SWITCH")
  31. libgis.G_setenv_nogisrc2("TEST", "SWITCH2", libgis.G_VAR_MAPSET)
  32. # Create alternative env
  33. libgis.G_create_alt_env()
  34. libgis.G_setenv_nogisrc("TEST", "TARGET")
  35. libgis.G_setenv_nogisrc2("TEST", "TARGET2", libgis.G_VAR_MAPSET)
  36. value = libgis.G_getenv("TEST")
  37. self.assertEqual(value, b"TARGET")
  38. value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
  39. self.assertEqual(value, b"TARGET2")
  40. # Switch back to orig env
  41. libgis.G_switch_env()
  42. value = libgis.G_getenv("TEST")
  43. self.assertEqual(value, b"SWITCH")
  44. value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
  45. self.assertEqual(value, b"SWITCH2")
  46. def test_mapset(self):
  47. # Mapset VAR file
  48. libgis.G_setenv2("TEST", "C", libgis.G_VAR_MAPSET)
  49. value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
  50. self.assertEqual(value, b"C")
  51. libgis.G_setenv_nogisrc2("TEST", "D", libgis.G_VAR_MAPSET)
  52. value = libgis.G_getenv_nofatal2("TEST", libgis.G_VAR_MAPSET)
  53. self.assertEqual(value, b"D")
  54. # Force reading
  55. libgis.G__read_mapset_env()
  56. value = libgis.G_getenv2("TEST", libgis.G_VAR_MAPSET)
  57. self.assertEqual(value, b"C")
  58. if __name__ == "__main__":
  59. from grass.gunittest.main import test
  60. test()