~ubuntu-branches/ubuntu/vivid/grass/vivid-proposed

« back to all changes in this revision

Viewing changes to raster/r.profile/testsuite/test_profile_ncspm.py

  • Committer: Package Import Robot
  • Author(s): Bas Couwenberg
  • Date: 2015-02-20 23:12:08 UTC
  • mfrom: (8.2.6 experimental)
  • Revision ID: package-import@ubuntu.com-20150220231208-1u6qvqm84v430b10
Tags: 7.0.0-1~exp1
* New upstream release.
* Update python-ctypes-ternary.patch to use if/else instead of and/or.
* Drop check4dev patch, rely on upstream check.
* Add build dependency on libpq-dev to grass-dev for libpq-fe.h.
* Drop patches applied upstream, refresh remaining patches.
* Update symlinks for images switched from jpg to png.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from grass.gunittest import TestCase, test
 
2
from grass.gunittest.gmodules import SimpleModule
 
3
import grass.script.core as gcore
 
4
 
 
5
# not used yet
 
6
LOCATION = 'nc_spm'
 
7
 
 
8
output1 = """
 
9
 0.000000 88.370453
 
10
 10.000000 88.397057
 
11
 20.000000 89.526253
 
12
 30.000000 89.677551
 
13
 40.000000 91.297195
 
14
 50.000000 91.297195
 
15
 60.000000 92.330658
 
16
 70.000000 93.069199
 
17
 80.000000 94.768280
 
18
 90.000000 95.524551
 
19
 100.000000 96.770805
 
20
 110.000000 96.770805
 
21
 120.000000 97.418869
 
22
"""
 
23
 
 
24
output2 = """
 
25
637656.000000 224222.000000 0.000000 88.370453
 
26
637664.540486 224227.201932 10.000000 88.397057
 
27
637673.080972 224232.403865 20.000000 89.526253
 
28
637681.621458 224237.605797 30.000000 89.677551
 
29
637690.161944 224242.807729 40.000000 91.297195
 
30
637698.702430 224248.009662 50.000000 91.297195
 
31
637707.242916 224253.211594 60.000000 92.330658
 
32
637715.783402 224258.413526 70.000000 93.069199
 
33
637724.323887 224263.615459 80.000000 94.768280
 
34
637732.864373 224268.817391 90.000000 95.524551
 
35
637741.404859 224274.019323 100.000000 96.770805
 
36
637749.945345 224279.221256 110.000000 96.770805
 
37
637758.485831 224284.423188 120.000000 97.418869
 
38
"""
 
39
 
 
40
output3 = """
 
41
 0.000000 91.071831
 
42
 10.000000 91.431198
 
43
 20.000000 91.746628
 
44
 30.000000 91.746628
 
45
 40.000000 91.748047
 
46
 50.000000 91.872192
 
47
 60.000000 91.730049
 
48
 70.000000 91.690292
 
49
 80.000000 91.341331
 
50
 86.533231 91.341331
 
51
 96.533231 91.639000
 
52
 106.533231 nodata
 
53
 116.533231 nodata
 
54
 126.533231 nodata
 
55
 136.533231 nodata
 
56
 146.533231 nodata
 
57
 156.533231 nodata
 
58
 166.533231 nodata
 
59
 176.533231 nodata
 
60
 186.533231 nodata
 
61
 196.533231 nodata
 
62
 206.533231 nodata
 
63
 216.533231 nodata
 
64
"""
 
65
 
 
66
output4 = """
 
67
 0.000000 88.370453
 
68
 25.000000 89.526253
 
69
 50.000000 91.297195
 
70
 75.000000 94.768280
 
71
 100.000000 96.770805
 
72
 125.000000 97.646629
 
73
"""
 
74
 
 
75
output5 = """
 
76
635747.000000 222664.000000 0.000000 117.672462
 
77
635738.870095 222669.822770 10.000000 116.417213
 
78
635730.740190 222675.645539 20.000000 115.639481
 
79
635722.610285 222681.468309 30.000000 112.835342
 
80
635714.480381 222687.291079 40.000000 111.324890
 
81
635706.350476 222693.113848 50.000000 108.612282
 
82
635698.220571 222698.936618 60.000000 106.313347
 
83
635690.090666 222704.759388 70.000000 104.915665
 
84
635681.960761 222710.582158 80.000000 102.878601
 
85
635673.830856 222716.404927 90.000000 102.935074
 
86
635673.000000 222717.000000 91.021975 102.935074
 
87
635665.017450 222710.976803 101.021975 102.932213
 
88
635657.034900 222704.953607 111.021975 102.931152
 
89
635649.052351 222698.930410 121.021975 102.932213
 
90
635641.069801 222692.907213 131.021975 102.932213
 
91
635633.087251 222686.884017 141.021975 102.931648
 
92
635625.104701 222680.860820 151.021975 102.936768
 
93
635617.122151 222674.837623 161.021975 102.903358
 
94
635609.139601 222668.814427 171.021975 105.447823
 
95
635601.157052 222662.791230 181.021975 105.447823
 
96
635593.174502 222656.768033 191.021975 108.423523
 
97
635585.191952 222650.744836 201.021975 109.192360
 
98
635577.209402 222644.721640 211.021975 112.042763
 
99
635569.226852 222638.698443 221.021975 114.321136
 
100
635563.000000 222634.000000 228.822556 114.321136
 
101
635569.507914 222626.407434 238.822556 115.357292
 
102
635576.015827 222618.814868 248.822556 114.609100
 
103
635582.523741 222611.222302 258.822556 111.636292
 
104
635589.031655 222603.629736 268.822556 112.355431
 
105
635595.539569 222596.037170 278.822556 110.162842
 
106
635602.047482 222588.444604 288.822556 109.172668
 
107
635608.555396 222580.852038 298.822556 109.172668
 
108
635615.063310 222573.259472 308.822556 108.030540
 
109
635621.571224 222565.666906 318.822556 105.670113
 
110
635628.079137 222558.074340 328.822556 105.770287
 
111
635634.587051 222550.481774 338.822556 105.169937
 
112
635641.000000 222543.000000 348.676634 105.416862
 
113
635647.589446 222550.521915 358.676634 105.011185
 
114
635654.178892 222558.043830 368.676634 104.854263
 
115
635660.768338 222565.565744 378.676634 104.573921
 
116
635667.357784 222573.087659 388.676634 103.413361
 
117
635673.947230 222580.609574 398.676634 105.485588
 
118
635680.536676 222588.131489 408.676634 109.791016
 
119
635687.126122 222595.653403 418.676634 109.701485
 
120
635693.715568 222603.175318 428.676634 112.104370
 
121
635700.305014 222610.697233 438.676634 113.684036
 
122
635706.894460 222618.219148 448.676634 113.684036
 
123
635713.483906 222625.741062 458.676634 114.252579
 
124
635720.073352 222633.262977 468.676634 114.115379
 
125
635726.662798 222640.784892 478.676634 114.123955
 
126
635733.252244 222648.306807 488.676634 115.766998
 
127
635739.841690 222655.828721 498.676634 116.547440
 
128
635746.431136 222663.350636 508.676634 117.672462
 
129
"""
 
130
 
 
131
 
 
132
class TestProfileNCSPM(TestCase):
 
133
 
 
134
    @classmethod
 
135
    def setUpClass(cls):
 
136
        gcore.use_temp_region()
 
137
        gcore.run_command('g.region', raster='elevation')
 
138
 
 
139
    @classmethod
 
140
    def tearDownClass(cls):
 
141
        gcore.del_temp_region()
 
142
 
 
143
    def test_profile_default(self):
 
144
        rprofile = SimpleModule('r.profile', input='elevation',
 
145
                                coordinates=[637656, 224222, 637766, 224289])
 
146
        self.assertModule(rprofile)
 
147
        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output1.strip())
 
148
        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
 
149
        self.assertIn('10 [meters]', rprofile.outputs.stderr)  # resolution
 
150
 
 
151
    def test_profile_m(self):
 
152
        rprofile = SimpleModule('r.profile', input='elevation', units='meters',
 
153
                                coordinates=[637656, 224222, 637766, 224289])
 
154
        self.assertModule(rprofile)
 
155
        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
 
156
        self.assertIn('10 [meters]', rprofile.outputs.stderr)  # resolution
 
157
 
 
158
    def test_profile_resolution(self):
 
159
        rprofile = SimpleModule('r.profile', input='elevation', resolution=25,
 
160
                                coordinates=[637656, 224222, 637766, 224289])
 
161
        self.assertModule(rprofile)
 
162
        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output4.strip())
 
163
        self.assertIn('128.798292 [meters]', rprofile.outputs.stderr)  # distance
 
164
        self.assertIn('25 [meters]', rprofile.outputs.stderr)  # resolution
 
165
 
 
166
    def test_profile_ne(self):
 
167
        rprofile = SimpleModule('r.profile', input='elevation', flags='g',
 
168
                                coordinates=[637656, 224222, 637766, 224289])
 
169
        self.assertModule(rprofile)
 
170
        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output2.strip())
 
171
 
 
172
    def test_profile_region(self):
 
173
        rprofile = SimpleModule('r.profile', input='elevation', null_value='nodata',
 
174
                                coordinates=[644914, 224579, 644986,
 
175
                                             224627, 645091, 224549])
 
176
        self.assertModule(rprofile)
 
177
        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output3.strip())
 
178
        self.assertIn("WARNING: Endpoint coordinates are outside of current region settings",
 
179
                      rprofile.outputs.stderr)
 
180
 
 
181
    def test_profile_directions(self):
 
182
        rprofile = SimpleModule('r.profile', input='elevation', flags='g',
 
183
                                coordinates=[635747, 222664, 635673, 222717, 635563,
 
184
                                             222634, 635641, 222543, 635747, 222664])
 
185
        self.assertModule(rprofile)
 
186
        self.assertMultiLineEqual(rprofile.outputs.stdout.strip(), output5.strip())
 
187
 
 
188
 
 
189
if __name__ == '__main__':
 
190
    test()