Skip to content

Commit 39402d7

Browse files
tests: add more tests for r.geomorphon
1 parent 3ba0d22 commit 39402d7

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

raster/r.geomorphon/testsuite/test_r_geom.py

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ def test_elongation_output(self):
144144

145145

146146
class TestFlags(TestCase):
147+
"""Test flags"""
148+
147149
inele = "elevation"
148150

149151
@classmethod
@@ -156,7 +158,7 @@ def tearDownClass(cls):
156158
cls.del_temp_region()
157159

158160
def tearDown(self):
159-
outputs = ["test_extended"]
161+
outputs = ["test_extended", "test_meters"]
160162
existing = [o for o in outputs if gs.find_file(name=o, element="cell")["file"]]
161163
if existing:
162164
self.runModule("g.remove", flags="f", type="raster", name=existing)
@@ -172,6 +174,71 @@ def test_extended_flag(self):
172174
)
173175
self.assertRasterExists("test_extended")
174176

177+
def test_meter_units_flag(self):
178+
"""Test using meters instead of cells for search units"""
179+
self.assertModule(
180+
"r.geomorphon",
181+
flags="m",
182+
elevation=self.inele,
183+
forms="test_meters",
184+
search=30, # 30 meters
185+
)
186+
self.assertRasterExists("test_meters")
187+
188+
189+
class TestComparisonModes(TestCase):
190+
"""Test different comparison modes for zenith/nadir line-of-sight"""
191+
192+
inele = "elevation"
193+
194+
@classmethod
195+
def setUpClass(cls):
196+
cls.use_temp_region()
197+
cls.runModule("g.region", raster=cls.inele)
198+
199+
@classmethod
200+
def tearDownClass(cls):
201+
cls.del_temp_region()
202+
203+
def tearDown(self):
204+
outputs = ["test_anglev1", "test_anglev2", "test_anglev2_dist"]
205+
existing = [o for o in outputs if gs.find_file(name=o, element="cell")["file"]]
206+
if existing:
207+
self.runModule("g.remove", flags="f", type="raster", name=existing)
208+
209+
def test_anglev1_mode(self):
210+
"""Test anglev1 comparison mode (default)"""
211+
self.assertModule(
212+
"r.geomorphon",
213+
elevation=self.inele,
214+
forms="test_anglev1",
215+
search=10,
216+
comparison="anglev1",
217+
)
218+
self.assertRasterExists("test_anglev1")
219+
220+
def test_anglev2_mode(self):
221+
"""Test anglev2 comparison mode"""
222+
self.assertModule(
223+
"r.geomorphon",
224+
elevation=self.inele,
225+
forms="test_anglev2",
226+
search=10,
227+
comparison="anglev2",
228+
)
229+
self.assertRasterExists("test_anglev2")
230+
231+
def test_anglev2_distance_mode(self):
232+
"""Test anglev2_distance comparison mode"""
233+
self.assertModule(
234+
"r.geomorphon",
235+
elevation=self.inele,
236+
forms="test_anglev2_dist",
237+
search=10,
238+
comparison="anglev2_distance",
239+
)
240+
self.assertRasterExists("test_anglev2_dist")
241+
175242

176243
if __name__ == "__main__":
177244
test()

0 commit comments

Comments
 (0)