test_support_str3ds.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. """Test t.support
  2. (C) 2015 by the GRASS Development Team
  3. This program is free software under the GNU General Public
  4. License (>=v2). Read the file COPYING that comes with GRASS
  5. for details.
  6. :authors: Soeren Gebbert
  7. """
  8. import os
  9. import grass.pygrass.modules as pymod
  10. import grass.temporal as tgis
  11. from grass.gunittest.case import TestCase
  12. from grass.gunittest.gmodules import SimpleModule
  13. class TestSupportAbsoluteSTR3DS(TestCase):
  14. @classmethod
  15. def setUpClass(cls):
  16. """Initiate the temporal GIS and set the region"""
  17. os.putenv("GRASS_OVERWRITE", "1")
  18. tgis.init()
  19. cls.use_temp_region()
  20. cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0, t=50, res=10, res3=10)
  21. cls.runModule("r3.mapcalc", expression="a1 = 100", overwrite=True)
  22. cls.runModule("r3.mapcalc", expression="a2 = 200", overwrite=True)
  23. cls.runModule("r3.mapcalc", expression="a3 = 300", overwrite=True)
  24. cls.runModule("r3.mapcalc", expression="a4 = 400", overwrite=True)
  25. cls.runModule(
  26. "t.create",
  27. type="str3ds",
  28. temporaltype="absolute",
  29. output="A",
  30. title="A test",
  31. description="A test",
  32. overwrite=True,
  33. )
  34. cls.runModule(
  35. "t.register",
  36. flags="i",
  37. type="raster_3d",
  38. input="A",
  39. maps="a1,a2,a3,a4",
  40. start="2001-01-15 12:05:45",
  41. increment="14 days",
  42. overwrite=True,
  43. )
  44. @classmethod
  45. def tearDownClass(cls):
  46. """Remove the temporary region"""
  47. cls.del_temp_region()
  48. cls.runModule("t.remove", flags="rf", type="str3ds", inputs="A")
  49. def test_1_metadata(self):
  50. """Set title, description and aggregation"""
  51. title = "A new title"
  52. descr = "A new description"
  53. aggr_type = "average"
  54. semantic = "sum"
  55. self.assertModule(
  56. "t.support",
  57. type="str3ds",
  58. input="A",
  59. title=title,
  60. description=descr,
  61. semantictype=semantic,
  62. aggr_type=aggr_type,
  63. )
  64. A = tgis.open_old_stds("A", type="str3ds")
  65. A.select()
  66. self.assertEqual(A.metadata.get_title(), title)
  67. self.assertEqual(A.metadata.get_description(), descr)
  68. self.assertEqual(A.metadata.get_aggregation_type(), aggr_type)
  69. self.assertEqual(A.base.get_semantic_type(), semantic)
  70. def test_2_update(self):
  71. """Set title, description and aggregation"""
  72. self.runModule("r3.mapcalc", expression="a1 = 10", overwrite=True)
  73. self.runModule("r3.mapcalc", expression="a2 = 20", overwrite=True)
  74. self.runModule("r3.mapcalc", expression="a3 = 30", overwrite=True)
  75. self.runModule("r3.mapcalc", expression="a4 = 40", overwrite=True)
  76. self.assertModule("t.support", type="str3ds", input="A", flags="m")
  77. A = tgis.open_old_stds("A", type="str3ds")
  78. A.select()
  79. self.assertEqual(A.metadata.get_min_min(), 10)
  80. self.assertEqual(A.metadata.get_min_max(), 40)
  81. self.assertEqual(A.metadata.get_max_min(), 10)
  82. self.assertEqual(A.metadata.get_max_max(), 40)
  83. self.assertEqual(A.metadata.get_number_of_maps(), 4)
  84. def test_3_update(self):
  85. """Set title, description and aggregation"""
  86. self.runModule("g.remove", type="raster_3d", name="a4", flags="f")
  87. self.assertModule("t.support", type="str3ds", input="A", flags="m")
  88. A = tgis.open_old_stds("A", type="str3ds")
  89. A.select()
  90. self.assertEqual(A.metadata.get_min_min(), 10)
  91. self.assertEqual(A.metadata.get_min_max(), 30)
  92. self.assertEqual(A.metadata.get_max_min(), 10)
  93. self.assertEqual(A.metadata.get_max_max(), 30)
  94. self.assertEqual(A.metadata.get_number_of_maps(), 3)
  95. if __name__ == "__main__":
  96. from grass.gunittest.main import test
  97. test()