[GRASS-SVN] r62299 - in grass/trunk/raster/r.profile: . testsuite

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Oct 19 19:39:37 PDT 2014


Author: annakrat
Date: 2014-10-19 19:39:37 -0700 (Sun, 19 Oct 2014)
New Revision: 62299

Modified:
   grass/trunk/raster/r.profile/main.c
   grass/trunk/raster/r.profile/testsuite/test_profile_ncspm.py
Log:
r.profile: fixed failing tests on 64bit - using double instead of float, add additional test

Modified: grass/trunk/raster/r.profile/main.c
===================================================================
--- grass/trunk/raster/r.profile/main.c	2014-10-19 22:34:35 UTC (rev 62298)
+++ grass/trunk/raster/r.profile/main.c	2014-10-20 02:39:37 UTC (rev 62299)
@@ -272,7 +272,7 @@
 	       int coords, double res, int fd, int data_type, FILE * fp,
 	       char *null_string, const char *unit, double factor)
 {
-    float rows, cols, LEN;
+    double rows, cols, LEN;
     double Y, X, AZI;
 
     cols = e1 - e2;

Modified: grass/trunk/raster/r.profile/testsuite/test_profile_ncspm.py
===================================================================
--- grass/trunk/raster/r.profile/testsuite/test_profile_ncspm.py	2014-10-19 22:34:35 UTC (rev 62298)
+++ grass/trunk/raster/r.profile/testsuite/test_profile_ncspm.py	2014-10-20 02:39:37 UTC (rev 62299)
@@ -72,7 +72,63 @@
  125.000000 97.646629
 """
 
+output5 = """
+635747.000000 222664.000000 0.000000 117.672462
+635738.870095 222669.822770 10.000000 116.417213
+635730.740190 222675.645539 20.000000 115.639481
+635722.610285 222681.468309 30.000000 112.835342
+635714.480381 222687.291079 40.000000 111.324890
+635706.350476 222693.113848 50.000000 108.612282
+635698.220571 222698.936618 60.000000 106.313347
+635690.090666 222704.759388 70.000000 104.915665
+635681.960761 222710.582158 80.000000 102.878601
+635673.830856 222716.404927 90.000000 102.935074
+635673.000000 222717.000000 91.021975 102.935074
+635665.017450 222710.976803 101.021975 102.932213
+635657.034900 222704.953607 111.021975 102.931152
+635649.052351 222698.930410 121.021975 102.932213
+635641.069801 222692.907213 131.021975 102.932213
+635633.087251 222686.884017 141.021975 102.931648
+635625.104701 222680.860820 151.021975 102.936768
+635617.122151 222674.837623 161.021975 102.903358
+635609.139601 222668.814427 171.021975 105.447823
+635601.157052 222662.791230 181.021975 105.447823
+635593.174502 222656.768033 191.021975 108.423523
+635585.191952 222650.744836 201.021975 109.192360
+635577.209402 222644.721640 211.021975 112.042763
+635569.226852 222638.698443 221.021975 114.321136
+635563.000000 222634.000000 228.822556 114.321136
+635569.507914 222626.407434 238.822556 115.357292
+635576.015827 222618.814868 248.822556 114.609100
+635582.523741 222611.222302 258.822556 111.636292
+635589.031655 222603.629736 268.822556 112.355431
+635595.539569 222596.037170 278.822556 110.162842
+635602.047482 222588.444604 288.822556 109.172668
+635608.555396 222580.852038 298.822556 109.172668
+635615.063310 222573.259472 308.822556 108.030540
+635621.571224 222565.666906 318.822556 105.670113
+635628.079137 222558.074340 328.822556 105.770287
+635634.587051 222550.481774 338.822556 105.169937
+635641.000000 222543.000000 348.676634 105.416862
+635647.589446 222550.521915 358.676634 105.011185
+635654.178892 222558.043830 368.676634 104.854263
+635660.768338 222565.565744 378.676634 104.573921
+635667.357784 222573.087659 388.676634 103.413361
+635673.947230 222580.609574 398.676634 105.485588
+635680.536676 222588.131489 408.676634 109.791016
+635687.126122 222595.653403 418.676634 109.701485
+635693.715568 222603.175318 428.676634 112.104370
+635700.305014 222610.697233 438.676634 113.684036
+635706.894460 222618.219148 448.676634 113.684036
+635713.483906 222625.741062 458.676634 114.252579
+635720.073352 222633.262977 468.676634 114.115379
+635726.662798 222640.784892 478.676634 114.123955
+635733.252244 222648.306807 488.676634 115.766998
+635739.841690 222655.828721 498.676634 116.547440
+635746.431136 222663.350636 508.676634 117.672462
+"""
 
+
 class TestProfileNCSPM(TestCase):
 
     @classmethod
@@ -89,14 +145,14 @@
                                 coordinates=[637656, 224222, 637766, 224289])
         self.assertModule(rprofile)
         self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output1.strip())
-        self.assertIn('128.798294 [meters]', rprofile.outputs.stderr)  # distance
+        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
         self.assertIn('10 [meters]', rprofile.outputs.stderr)  # resolution
 
     def test_profile_m(self):
         rprofile = SimpleModule('r.profile', input='elevation', units='meters',
                                 coordinates=[637656, 224222, 637766, 224289])
         self.assertModule(rprofile)
-        self.assertIn('128.798294 [meters]', rprofile.outputs.stderr)  # distance
+        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
         self.assertIn('10 [meters]', rprofile.outputs.stderr)  # resolution
 
     def test_profile_resolution(self):
@@ -104,7 +160,7 @@
                                 coordinates=[637656, 224222, 637766, 224289])
         self.assertModule(rprofile)
         self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output4.strip())
-        self.assertIn('128.798294 [meters]', rprofile.outputs.stderr)  # distance
+        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
         self.assertIn('25 [meters]', rprofile.outputs.stderr)  # resolution
 
     def test_profile_ne(self):
@@ -120,8 +176,15 @@
         self.assertModule(rprofile)
         self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output3.strip())
         self.assertIn("WARNING: Endpoint coordinates are outside of current region settings",
-                      rprofile.outputs.stderr,)
+                      rprofile.outputs.stderr)
 
+    def test_profile_directions(self):
+        rprofile = SimpleModule('r.profile', input='elevation', flags='g',
+                                coordinates=[635747, 222664, 635673, 222717, 635563,
+                                             222634, 635641, 222543, 635747, 222664])
+        self.assertModule(rprofile)
+        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output5.strip())
 
+
 if __name__ == '__main__':
     test()



More information about the grass-commit mailing list