@@ -144,6 +144,8 @@ def test_elongation_output(self):
144144
145145
146146class 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
176243if __name__ == "__main__" :
177244 test ()
0 commit comments