Changeset 6210
- Timestamp:
- Jan 19, 2009, 4:44:24 PM (16 years ago)
- Location:
- anuga_core/source/anuga/lib/order_boundary
- Files:
-
- 2 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/lib/order_boundary/test_order_boundary.py
r6208 r6210 109 109 pass 110 110 111 def test_OK(self): 112 infile = 'test.csv' 111 # Not a correctness test, as the result was generated by the routine. 112 # Still good as a regression test - Johnno told me the output was good. 113 def test_regression(self): 114 import os 115 import csv 116 117 infile = 'test.in.csv' 113 118 outfile = 'test.out.csv' 114 119 120 data = [('longitude','latitude','index'), 121 (150.0833,-37.5,2758), 122 (150.1,-37.4667,2765), 123 (150.1167,-37.3833,2769), 124 (150.1333,-36.7167,2771), 125 (150.1333,-36.7667,2774), 126 (150.15,-36.5833,2777), 127 (150.15,-36.6333,2780), 128 (150.15,-36.6833,2783), 129 (150.15,-36.8167,2787), 130 (150.15,-36.8667,2790), 131 (150.15,-36.9167,2793), 132 (150.15,-37.35,2795), 133 (150.1667,-36.5,2796), 134 (150.1667,-36.55,2799), 135 (150.1667,-36.9667,2804), 136 (150.1667,-37.0167,2807), 137 (150.1667,-37.25,2808), 138 (150.1667,-37.3,2811), 139 (150.1833,-36.45,2815), 140 (150.1833,-37.05,2821), 141 (150.1833,-37.1,2824), 142 (150.1833,-37.2167,2827), 143 (150.2,-36.4,2831), 144 (150.2,-37.1333,2835), 145 (150.2,-37.1667,2837), 146 (150.2,-37.2,2839), 147 (150.2167,-36.3667,2841), 148 (150.2333,-36.0667,2844), 149 (150.2333,-36.1167,2847), 150 (150.25,-36.0167,2852), 151 (150.25,-36.1667,2856), 152 (150.25,-36.2167,2859), 153 (150.25,-36.3333,2862), 154 (150.2667,-36.25,2865), 155 (150.2667,-36.3,2868), 156 (150.3,-35.8833,2870), 157 (150.35,-35.75,2872), 158 (150.4333,-35.6333,2873), 159 (150.5,-35.5,2875), 160 (150.5667,-35.4,2878), 161 (150.6,-35.3667,2882), 162 (150.6333,-35.3333,2889), 163 (150.6667,-35.3,2893), 164 (150.7,-35.2667,2898), 165 (150.75,-35.2333,2903), 166 (150.8,-35.1833,2907), 167 (150.8333,-35.1333,2913), 168 (150.8667,-35.1,2918), 169 (150.9,-35.0667,2923), 170 (150.9333,-35.0167,2927), 171 (150.95,-34.9833,2938), 172 (150.9667,-34.6333,2940), 173 (150.9667,-34.6667,2942), 174 (150.9667,-34.7,2944), 175 (150.9667,-34.75,2947), 176 (150.9667,-34.8,2948), 177 (150.9667,-34.85,2951), 178 (150.9667,-34.9,2953), 179 (150.9667,-34.95,2956), 180 (150.9833,-34.5833,2958), 181 (151,-34.55,2962), 182 (151.0167,-34.5167,2965), 183 (151.0333,-34.5,2968), 184 (151.05,-34.4667,2971), 185 (151.0667,-34.4333,2974), 186 (151.0833,-34.4,2977), 187 (151.1,-34.35,2980), 188 (151.1167,-34.3167,2984), 189 (151.1333,-34.2833,2988), 190 (151.15,-34.2333,2991), 191 (151.1667,-34.1833,2995), 192 (151.2,-34.15,3002), 193 (151.2333,-34.1167,3008), 194 (151.2667,-34.0833,3012), 195 (151.3,-34.05,3016), 196 (151.3333,-34.0167,3021), 197 (151.3667,-33.9833,3023), 198 (151.3833,-33.95,3027), 199 (151.4,-33.85,3031), 200 (151.4,-33.9,3034), 201 (151.4167,-33.8,3037), 202 (151.4333,-33.75,3041), 203 (151.45,-33.7167,3046), 204 (151.4833,-33.6833,3051), 205 (151.5167,-33.65,3054), 206 (151.55,-33.6167,3058), 207 (151.5667,-33.5833,3060), 208 (151.5833,-33.55,3063), 209 (151.6167,-33.5167,3070), 210 (151.65,-33.4833,3074), 211 (151.6833,-33.45,3077), 212 (151.7333,-33.35,3084), 213 (151.7333,-33.4,3087), 214 (151.75,-33.3167,3089), 215 (151.7667,-33.2667,3091), 216 (151.7833,-33.2,3095), 217 (151.8,-33.1667,3099), 218 (151.8333,-33.1,3109), 219 (151.8667,-33.0667,3116), 220 (151.9,-33.0333,3120), 221 (151.9333,-33,3125), 222 (151.9833,-32.9667,3130), 223 (152.0333,-32.9333,3137), 224 (152.1,-32.9,3145), 225 (152.15,-32.8667,3151), 226 (152.2,-32.8333,3158), 227 (152.25,-32.8,3164), 228 (152.2833,-32.7667,3168), 229 (152.3333,-32.7167,3177), 230 (152.3667,-32.7,3181), 231 (152.4,-32.6667,3183), 232 (152.4333,-32.65,3187), 233 (152.4833,-32.6167,3193), 234 (152.5167,-32.5833,3198), 235 (152.55,-32.55,3202)] 236 237 expected = [('longitude','latitude','index'), 238 (150.0833,-37.5,'2758'), 239 (150.1,-37.4667,'2765'), 240 (150.1167,-37.3833,'2769'), 241 (150.15,-37.35,'2795'), 242 (150.1667,-37.3,'2811'), 243 (150.1667,-37.25,'2808'), 244 (150.1833,-37.2167,'2827'), 245 (150.2,-37.2,'2839'), 246 (150.2,-37.1667,'2837'), 247 (150.2,-37.1333,'2835'), 248 (150.1833,-37.1,'2824'), 249 (150.1833,-37.05,'2821'), 250 (150.1667,-37.0167,'2807'), 251 (150.1667,-36.9667,'2804'), 252 (150.15,-36.9167,'2793'), 253 (150.15,-36.8667,'2790'), 254 (150.15,-36.8167,'2787'), 255 (150.1333,-36.7667,'2774'), 256 (150.1333,-36.7167,'2771'), 257 (150.15,-36.6833,'2783'), 258 (150.15,-36.6333,'2780'), 259 (150.15,-36.5833,'2777'), 260 (150.1667,-36.55,'2799'), 261 (150.1667,-36.5,'2796'), 262 (150.1833,-36.45,'2815'), 263 (150.2,-36.4,'2831'), 264 (150.2167,-36.3667,'2841'), 265 (150.25,-36.3333,'2862'), 266 (150.2667,-36.3,'2868'), 267 (150.2667,-36.25,'2865'), 268 (150.25,-36.2167,'2859'), 269 (150.25,-36.1667,'2856'), 270 (150.2333,-36.1167,'2847'), 271 (150.2333,-36.0667,'2844'), 272 (150.25,-36.0167,'2852'), 273 (150.3,-35.8833,'2870'), 274 (150.35,-35.75,'2872'), 275 (150.4333,-35.6333,'2873'), 276 (150.5,-35.5,'2875'), 277 (150.5667,-35.4,'2878'), 278 (150.6,-35.3667,'2882'), 279 (150.6333,-35.3333,'2889'), 280 (150.6667,-35.3,'2893'), 281 (150.7,-35.2667,'2898'), 282 (150.75,-35.2333,'2903'), 283 (150.8,-35.1833,'2907'), 284 (150.8333,-35.1333,'2913'), 285 (150.8667,-35.1,'2918'), 286 (150.9,-35.0667,'2923'), 287 (150.9333,-35.0167,'2927'), 288 (150.95,-34.9833,'2938'), 289 (150.9667,-34.95,'2956'), 290 (150.9667,-34.9,'2953'), 291 (150.9667,-34.85,'2951'), 292 (150.9667,-34.8,'2948'), 293 (150.9667,-34.75,'2947'), 294 (150.9667,-34.7,'2944'), 295 (150.9667,-34.6667,'2942'), 296 (150.9667,-34.6333,'2940'), 297 (150.9833,-34.5833,'2958'), 298 (151.0,-34.55,'2962'), 299 (151.0167,-34.5167,'2965'), 300 (151.0333,-34.5,'2968'), 301 (151.05,-34.4667,'2971'), 302 (151.0667,-34.4333,'2974'), 303 (151.0833,-34.4,'2977'), 304 (151.1,-34.35,'2980'), 305 (151.1167,-34.3167,'2984'), 306 (151.1333,-34.2833,'2988'), 307 (151.15,-34.2333,'2991'), 308 (151.1667,-34.1833,'2995'), 309 (151.2,-34.15,'3002'), 310 (151.2333,-34.1167,'3008'), 311 (151.2667,-34.0833,'3012'), 312 (151.3,-34.05,'3016'), 313 (151.3333,-34.0167,'3021'), 314 (151.3667,-33.9833,'3023'), 315 (151.3833,-33.95,'3027'), 316 (151.4,-33.9,'3034'), 317 (151.4,-33.85,'3031'), 318 (151.4167,-33.8,'3037'), 319 (151.4333,-33.75,'3041'), 320 (151.45,-33.7167,'3046'), 321 (151.4833,-33.6833,'3051'), 322 (151.5167,-33.65,'3054'), 323 (151.55,-33.6167,'3058'), 324 (151.5667,-33.5833,'3060'), 325 (151.5833,-33.55,'3063'), 326 (151.6167,-33.5167,'3070'), 327 (151.65,-33.4833,'3074'), 328 (151.6833,-33.45,'3077'), 329 (151.7333,-33.4,'3087'), 330 (151.7333,-33.35,'3084'), 331 (151.75,-33.3167,'3089'), 332 (151.7667,-33.2667,'3091'), 333 (151.7833,-33.2,'3095'), 334 (151.8,-33.1667,'3099'), 335 (151.8333,-33.1,'3109'), 336 (151.8667,-33.0667,'3116'), 337 (151.9,-33.0333,'3120'), 338 (151.9333,-33.0,'3125'), 339 (151.9833,-32.9667,'3130'), 340 (152.0333,-32.9333,'3137'), 341 (152.1,-32.9,'3145'), 342 (152.15,-32.8667,'3151'), 343 (152.2,-32.8333,'3158'), 344 (152.25,-32.8,'3164'), 345 (152.2833,-32.7667,'3168'), 346 (152.3333,-32.7167,'3177'), 347 (152.3667,-32.7,'3181'), 348 (152.4,-32.6667,'3183'), 349 (152.4333,-32.65,'3187'), 350 (152.4833,-32.6167,'3193'), 351 (152.5167,-32.5833,'3198'), 352 (152.55,-32.55,'3202')] 353 354 # put test data into a file 355 fd = open(infile, 'wb') 356 w = csv.writer(fd) 357 for d in data: 358 w.writerow(d) 359 fd.close() 360 361 # call routine, put sorted points into output file 115 362 ob.order_boundary(infile, outfile) 116 363 117 os.remove(outfile) 364 # get sorted data into memory 365 fd = open(outfile, 'r') 366 data_list = [] 367 for data in csv.reader(fd): 368 try: 369 data[0] = float(data[0]) 370 except: 371 pass 372 try: 373 data[1] = float(data[1]) 374 except: 375 pass 376 data_list.append(tuple(data)) 377 fd.close() 378 379 # check same as Expected 380 self.failUnless(data_list == expected) 381 382 # clean up 383 try: 384 os.remove(infile) 385 except: 386 pass 387 try: 388 os.remove(outfile) 389 except: 390 pass 118 391 119 392 120 393 #------------------------------------------------------------- 394 121 395 if __name__ == "__main__": 122 396 suite = unittest.makeSuite(Test_order_boundary, 'test')
Note: See TracChangeset
for help on using the changeset viewer.