Changeset 7866 for trunk/anuga_core/source/anuga/file/test_csv.py
- Timestamp:
- Jun 22, 2010, 12:04:32 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/anuga_core/source/anuga/file/test_csv.py
r7772 r7866 220 220 221 221 222 223 def test_csv2polygons(self): 224 """test loading of a csv polygon file. 225 """ 226 227 path = get_pathname_from_package('anuga.shallow_water') 228 testfile = os.path.join(path, 'polygon_values_example.csv') 229 230 polygons, values = load_csv_as_polygons(testfile, 231 value_name='floors') 232 233 assert len(polygons) == 7, 'Must have seven polygons' 234 assert len(values) == 7, 'Must have seven values' 235 236 # Known floor values 237 floors = {'1': 2, '2': 0, '3': 1, '4': 2, '5': 0, '8': 1, '9': 1} 238 239 # Known polygon values 240 known_polys = {'1': [[422681.61,871117.55], 241 [422691.02,871117.60], 242 [422690.87,871084.23], 243 [422649.36,871081.85], 244 [422649.36,871080.39], 245 [422631.86,871079.50], 246 [422631.72,871086.75], 247 [422636.75,871087.20], 248 [422636.75,871091.50], 249 [422649.66,871092.09], 250 [422649.83,871084.91], 251 [422652.94,871084.90], 252 [422652.84,871092.39], 253 [422681.83,871093.73], 254 [422681.61,871117.55]], 255 '2': [[422664.22,870785.46], 256 [422672.48,870780.14], 257 [422668.17,870772.62], 258 [422660.35,870777.17], 259 [422664.22,870785.46]], 260 '3': [[422661.30,871215.06], 261 [422667.50,871215.70], 262 [422668.30,871204.86], 263 [422662.21,871204.33], 264 [422661.30,871215.06]], 265 '4': [[422473.44,871191.22], 266 [422478.33,871192.26], 267 [422479.52,871186.03], 268 [422474.78,871185.14], 269 [422473.44,871191.22]], 270 '5': [[422369.69,871049.29], 271 [422378.63,871053.58], 272 [422383.91,871044.51], 273 [422374.97,871040.32], 274 [422369.69,871049.29]], 275 '8': [[422730.56,871203.13], 276 [422734.10,871204.90], 277 [422735.26,871202.18], 278 [422731.87,871200.58], 279 [422730.56,871203.13]], 280 '9': [[422659.85,871213.80], 281 [422660.91,871210.97], 282 [422655.42,871208.85], 283 [422654.36,871211.68], 284 [422659.85,871213.80]] 285 } 286 287 288 289 290 for id in ['1', '2', '3', '4', '5' ,'8' ,'9']: 291 assert id in polygons.keys() 292 assert id in values.keys() 293 294 assert int(values[id]) == int(floors[id]) 295 assert len(polygons[id]) == len(known_polys[id]) 296 assert num.allclose(polygons[id], known_polys[id]) 297 298 299 def test_csv2polygons_with_clipping(self): 300 """test_csv2polygons with optional clipping 301 """ 302 #FIXME(Ole): Not Done!! 303 304 path = get_pathname_from_package('anuga.shallow_water') 305 testfile = os.path.join(path, 'polygon_values_example.csv') 306 307 polygons, values = load_csv_as_polygons(testfile, 308 value_name='floors', 309 clipping_polygons=None) 310 311 assert len(polygons) == 7, 'Must have seven polygons' 312 assert len(values) == 7, 'Must have seven values' 313 314 # Known floor values 315 floors = {'1': 2, '2': 0, '3': 1, '4': 2, '5': 0, '8': 1, '9': 1} 316 317 # Known polygon values 318 known_polys = {'1': [[422681.61,871117.55], 319 [422691.02,871117.60], 320 [422690.87,871084.23], 321 [422649.36,871081.85], 322 [422649.36,871080.39], 323 [422631.86,871079.50], 324 [422631.72,871086.75], 325 [422636.75,871087.20], 326 [422636.75,871091.50], 327 [422649.66,871092.09], 328 [422649.83,871084.91], 329 [422652.94,871084.90], 330 [422652.84,871092.39], 331 [422681.83,871093.73], 332 [422681.61,871117.55]], 333 '2': [[422664.22,870785.46], 334 [422672.48,870780.14], 335 [422668.17,870772.62], 336 [422660.35,870777.17], 337 [422664.22,870785.46]], 338 '3': [[422661.30,871215.06], 339 [422667.50,871215.70], 340 [422668.30,871204.86], 341 [422662.21,871204.33], 342 [422661.30,871215.06]], 343 '4': [[422473.44,871191.22], 344 [422478.33,871192.26], 345 [422479.52,871186.03], 346 [422474.78,871185.14], 347 [422473.44,871191.22]], 348 '5': [[422369.69,871049.29], 349 [422378.63,871053.58], 350 [422383.91,871044.51], 351 [422374.97,871040.32], 352 [422369.69,871049.29]], 353 '8': [[422730.56,871203.13], 354 [422734.10,871204.90], 355 [422735.26,871202.18], 356 [422731.87,871200.58], 357 [422730.56,871203.13]], 358 '9': [[422659.85,871213.80], 359 [422660.91,871210.97], 360 [422655.42,871208.85], 361 [422654.36,871211.68], 362 [422659.85,871213.80]] 363 } 364 365 366 367 368 for id in ['1', '2', '3', '4', '5' ,'8' ,'9']: 369 assert id in polygons.keys() 370 assert id in values.keys() 371 372 assert int(values[id]) == int(floors[id]) 373 assert len(polygons[id]) == len(known_polys[id]) 374 assert num.allclose(polygons[id], known_polys[id]) 375 376 377 378 379 380 def test_csv2building_polygons(self): 381 """test_csv2building_polygons 382 """ 383 384 path = get_pathname_from_package('anuga.shallow_water') 385 testfile = os.path.join(path, 'polygon_values_example.csv') 386 387 polygons, values = load_csv_as_building_polygons(testfile, 388 floor_height=3) 389 390 assert len(polygons) == 7, 'Must have seven polygons' 391 assert len(values) == 7, 'Must have seven values' 392 393 # Known floor values 394 floors = {'1': 6, '2': 0, '3': 3, '4': 6, '5': 0, '8': 3, '9': 3} 395 396 397 for id in ['1', '2', '3', '4', '5' ,'8' ,'9']: 398 assert id in polygons.keys() 399 assert id in values.keys() 400 401 assert float(values[id]) == float(floors[id]) 402 222 403 223 404
Note: See TracChangeset
for help on using the changeset viewer.