test_neighbors.py 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed Feb 17 19:53:04 2016
  4. @author: lucadelu
  5. """
  6. import os
  7. import grass.temporal as tgis
  8. from grass.gunittest.case import TestCase
  9. from grass.gunittest.gmodules import SimpleModule
  10. class TestAggregationAbsolute(TestCase):
  11. @classmethod
  12. def setUpClass(cls):
  13. """Initiate the temporal GIS and set the region
  14. """
  15. os.putenv("GRASS_OVERWRITE", "1")
  16. tgis.init()
  17. cls.use_temp_region()
  18. cls.runModule("g.region", s=0, n=80, w=0, e=120, b=0,
  19. t=50, res=10, res3=10)
  20. cls.runModule("r.mapcalc", expression="a1 = rand(1,10)", flags=['s'],
  21. overwrite=True)
  22. cls.runModule("r.mapcalc", expression="a2 = rand(1,10)", flags=['s'],
  23. overwrite=True)
  24. cls.runModule("r.mapcalc", expression="a3 = rand(1,10)", flags=['s'],
  25. overwrite=True)
  26. cls.runModule("t.create", type="strds", temporaltype="absolute",
  27. output="A", title="A test", description="A test",
  28. overwrite=True)
  29. cls.runModule("t.register", flags="i", type="raster", input="A",
  30. maps="a1,a2,a3", start="2001-01-01 00:00:00",
  31. increment="1 month", overwrite=True)
  32. @classmethod
  33. def tearDownClass(cls):
  34. """Remove the temporary region
  35. """
  36. cls.del_temp_region()
  37. cls.runModule("t.remove", flags="rf", type="strds", inputs="A")
  38. def tearDown(self):
  39. """Remove generated data"""
  40. self.runModule("t.remove", flags="rf", type="strds", inputs="B")
  41. def test_where(self):
  42. """Test simple t.rast.neighbors"""
  43. trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
  44. output="B", basename='b', overwrite=True,
  45. size="5", where="start_time <= '2001-02-01 00:00:00'")
  46. self.assertModule(trast_list)
  47. self.assertRasterExists('b_2001_01')
  48. self.assertRasterMinMax('b_2001_02', 1, 10)
  49. self.assertRasterDoesNotExist('b_2001_03')
  50. def test_simple(self):
  51. """Test simple t.rast.neighbors"""
  52. trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
  53. output="B", size="5", basename='b',
  54. overwrite=True)
  55. self.assertModule(trast_list)
  56. self.assertRasterMinMax('b_2001_01', 1, 10)
  57. self.assertRasterMinMax('b_2001_02', 1, 10)
  58. def test_time_suffix(self):
  59. """Test simple t.rast.neighbors"""
  60. trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
  61. output="B", size="5", basename='b',
  62. suffix="time", overwrite=True)
  63. self.assertModule(trast_list)
  64. self.assertRasterExists('b_2001_01_01T00_00_00')
  65. def test_num_suffix(self):
  66. """Test simple t.rast.neighbors"""
  67. trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
  68. output="B", size="5", basename='b',
  69. suffix="num%03", overwrite=True)
  70. self.assertModule(trast_list)
  71. self.assertRasterExists('b_001')
  72. def test_num_region(self):
  73. """Test t.rast.neighbors with parallel region processes"""
  74. trast_list = SimpleModule("t.rast.neighbors", quiet=True, input="A",
  75. output="B", size="5", basename='b', nprocs=2,
  76. suffix="num%03", flags="r", overwrite=True)
  77. self.assertModule(trast_list)
  78. self.assertRasterExists('b_001')
  79. self.assertRasterExists('b_002')
  80. self.assertRasterExists('b_003')
  81. if __name__ == '__main__':
  82. from grass.gunittest.main import test
  83. test()