- Timestamp:
- May 24, 2010, 5:43:59 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/shallow_water/test_data_manager.py
r7742 r7743 25 25 from anuga.utilities.system_tools import get_pathname_from_package 26 26 from anuga.utilities.file_utils import del_dir, load_csv_as_dict 27 from anuga. utilities.anuga_exceptions import ANUGAError27 from anuga.anuga_exceptions import ANUGAError 28 28 from anuga.utilities.numerical_tools import ensure_numeric, mean 29 29 from anuga.config import netcdf_mode_r, netcdf_mode_w, netcdf_mode_a … … 3404 3404 os.remove(filename) 3405 3405 3406 3407 3408 ########## testing nbed class ##################3409 def test_exposure_csv_loading(self):3410 file_name = tempfile.mktemp(".csv")3411 file = open(file_name,"w")3412 file.write("LATITUDE, LONGITUDE ,sound , speed \n\3413 115.0, -21.0, splat, 0.0\n\3414 114.0, -21.7, pow, 10.0\n\3415 114.5, -21.4, bang, 40.0\n")3416 file.close()3417 exposure = Exposure_csv(file_name, title_check_list = ['speed','sound'])3418 exposure.get_column("sound")3419 3420 self.failUnless(exposure._attribute_dic['sound'][2]==' bang',3421 'FAILED!')3422 self.failUnless(exposure._attribute_dic['speed'][2]==' 40.0',3423 'FAILED!')3424 3425 os.remove(file_name)3426 3427 def test_exposure_csv_loadingII(self):3428 3429 3430 file_name = tempfile.mktemp(".txt")3431 file = open(file_name,"w")3432 file.write("LATITUDE, LONGITUDE ,sound , speed \n\3433 115.0, -21.0, splat, 0.0\n\3434 114.0, -21.7, pow, 10.0\n\3435 114.5, -21.4, bang, 40.0\n")3436 file.close()3437 exposure = Exposure_csv(file_name)3438 exposure.get_column("sound")3439 3440 self.failUnless(exposure._attribute_dic['sound'][2]==' bang',3441 'FAILED!')3442 self.failUnless(exposure._attribute_dic['speed'][2]==' 40.0',3443 'FAILED!')3444 3445 os.remove(file_name)3446 3447 def test_exposure_csv_loading_title_check_list(self):3448 3449 # I can't get cvs.reader to close the exposure file3450 # The hacks below are to get around this.3451 if sys.platform == 'win32':3452 file_name = tempfile.gettempdir() + \3453 "test_exposure_csv_loading_title_check_list.csv"3454 else:3455 file_name = tempfile.mktemp(".csv")3456 file = open(file_name,"w")3457 file.write("LATITUDE, LONGITUDE ,sound , speed \n\3458 115.0, -21.0, splat, 0.0\n\3459 114.0, -21.7, pow, 10.0\n\3460 114.5, -21.4, bang, 40.0\n")3461 file.close()3462 try:3463 exposure = Exposure_csv(file_name, title_check_list = ['SOUND'])3464 except IOError:3465 pass3466 else:3467 self.failUnless(0 ==1, 'Assertion not thrown error!')3468 3469 if not sys.platform == 'win32':3470 os.remove(file_name)3471 3472 def test_exposure_csv_cmp(self):3473 file_name = tempfile.mktemp(".csv")3474 file = open(file_name,"w")3475 file.write("LATITUDE, LONGITUDE ,sound , speed \n\3476 115.0, -21.0, splat, 0.0\n\3477 114.0, -21.7, pow, 10.0\n\3478 114.5, -21.4, bang, 40.0\n")3479 file.close()3480 3481 e1 = Exposure_csv(file_name)3482 e2 = Exposure_csv(file_name)3483 os.remove(file_name)3484 3485 self.failUnless(cmp(e1,e2)==0,3486 'FAILED!')3487 3488 self.failUnless(cmp(e1,"hey")==1,3489 'FAILED!')3490 3491 file_name = tempfile.mktemp(".csv")3492 file = open(file_name,"w")3493 # Note, this has less spaces in the title,3494 # the instances will be the same.3495 file.write("LATITUDE,LONGITUDE ,sound, speed \n\3496 115.0, -21.0, splat, 0.0\n\3497 114.0, -21.7, pow, 10.0\n\3498 114.5, -21.4, bang, 40.0\n")3499 file.close()3500 e3 = Exposure_csv(file_name)3501 os.remove(file_name)3502 3503 self.failUnless(cmp(e3,e2)==0,3504 'FAILED!')3505 3506 file_name = tempfile.mktemp(".csv")3507 file = open(file_name,"w")3508 # Note, 40 changed to 44 .3509 file.write("LATITUDE,LONGITUDE ,sound, speed \n\3510 115.0, -21.0, splat, 0.0\n\3511 114.0, -21.7, pow, 10.0\n\3512 114.5, -21.4, bang, 44.0\n")3513 file.close()3514 e4 = Exposure_csv(file_name)3515 os.remove(file_name)3516 #print "e4",e4._attribute_dic3517 #print "e2",e2._attribute_dic3518 self.failUnless(cmp(e4,e2)<>0,3519 'FAILED!')3520 3521 file_name = tempfile.mktemp(".csv")3522 file = open(file_name,"w")3523 # Note, the first two columns are swapped.3524 file.write("LONGITUDE,LATITUDE ,sound, speed \n\3525 -21.0,115.0, splat, 0.0\n\3526 -21.7,114.0, pow, 10.0\n\3527 -21.4,114.5, bang, 40.0\n")3528 file.close()3529 e5 = Exposure_csv(file_name)3530 os.remove(file_name)3531 3532 self.failUnless(cmp(e3,e5)<>0,3533 'FAILED!')3534 3535 def test_exposure_csv_saving(self):3536 3537 3538 file_name = tempfile.mktemp(".csv")3539 file = open(file_name,"w")3540 file.write("LATITUDE, LONGITUDE ,sound , speed \n\3541 115.0, -21.0, splat, 0.0\n\3542 114.0, -21.7, pow, 10.0\n\3543 114.5, -21.4, bang, 40.0\n")3544 file.close()3545 e1 = Exposure_csv(file_name)3546 3547 file_name2 = tempfile.mktemp(".csv")3548 e1.save(file_name = file_name2)3549 e2 = Exposure_csv(file_name2)3550 3551 self.failUnless(cmp(e1,e2)==0,3552 'FAILED!')3553 os.remove(file_name)3554 os.remove(file_name2)3555 3556 def test_exposure_csv_get_location(self):3557 file_name = tempfile.mktemp(".csv")3558 file = open(file_name,"w")3559 file.write("LONGITUDE , LATITUDE, sound , speed \n\3560 150.916666667, -34.5, splat, 0.0\n\3561 150.0, -34.0, pow, 10.0\n")3562 file.close()3563 e1 = Exposure_csv(file_name)3564 3565 gsd = e1.get_location()3566 3567 points = gsd.get_data_points(absolute=True)3568 3569 assert num.allclose(points[0][0], 308728.009)3570 assert num.allclose(points[0][1], 6180432.601)3571 assert num.allclose(points[1][0], 222908.705)3572 assert num.allclose(points[1][1], 6233785.284)3573 self.failUnless(gsd.get_geo_reference().get_zone() == 56,3574 'Bad zone error!')3575 3576 os.remove(file_name)3577 3578 def test_exposure_csv_set_column_get_column(self):3579 file_name = tempfile.mktemp(".csv")3580 file = open(file_name,"w")3581 file.write("LONGITUDE , LATITUDE, sound , speed \n\3582 150.916666667, -34.5, splat, 0.0\n\3583 150.0, -34.0, pow, 10.0\n")3584 file.close()3585 e1 = Exposure_csv(file_name)3586 os.remove(file_name)3587 3588 new_title = "feast"3589 new_values = ["chicken","soup"]3590 e1.set_column(new_title, new_values)3591 returned_values = e1.get_column(new_title)3592 self.failUnless(returned_values == new_values,3593 ' Error!')3594 3595 file_name2 = tempfile.mktemp(".csv")3596 e1.save(file_name = file_name2)3597 e2 = Exposure_csv(file_name2)3598 returned_values = e2.get_column(new_title)3599 self.failUnless(returned_values == new_values,3600 ' Error!')3601 os.remove(file_name2)3602 3603 def test_exposure_csv_set_column_get_column_error_checking(self):3604 file_name = tempfile.mktemp(".csv")3605 file = open(file_name,"w")3606 file.write("LONGITUDE , LATITUDE, sound , speed \n\3607 150.916666667, -34.5, splat, 0.0\n\3608 150.0, -34.0, pow, 10.0\n")3609 file.close()3610 e1 = Exposure_csv(file_name)3611 os.remove(file_name)3612 3613 new_title = "sound"3614 new_values = [12.5,7.6]3615 try:3616 e1.set_column(new_title, new_values)3617 except TitleValueError:3618 pass3619 else:3620 self.failUnless(0 ==1, 'Error not thrown error!')3621 3622 e1.set_column(new_title, new_values, overwrite=True)3623 returned_values = e1.get_column(new_title)3624 self.failUnless(returned_values == new_values,3625 ' Error!')3626 3627 new2_title = "short list"3628 new2_values = [12.5]3629 try:3630 e1.set_column(new2_title, new2_values)3631 except DataMissingValuesError:3632 pass3633 else:3634 self.failUnless(0 ==1, 'Error not thrown error!')3635 3636 new2_title = "long list"3637 new2_values = [12.5, 7,8]3638 try:3639 e1.set_column(new2_title, new2_values)3640 except DataMissingValuesError:3641 pass3642 else:3643 self.failUnless(0 ==1, 'Error not thrown error!')3644 file_name2 = tempfile.mktemp(".csv")3645 e1.save(file_name = file_name2)3646 e2 = Exposure_csv(file_name2)3647 returned_values = e2.get_column(new_title)3648 for returned, new in map(None, returned_values, new_values):3649 self.failUnless(returned == str(new), ' Error!')3650 #self.failUnless(returned_values == new_values, ' Error!')3651 os.remove(file_name2)3652 3653 try:3654 e1.get_column("toe jam")3655 except TitleValueError:3656 pass3657 else:3658 self.failUnless(0 ==1, 'Error not thrown error!')3659 3660 def test_exposure_csv_loading_x_y(self):3661 3662 3663 file_name = tempfile.mktemp(".csv")3664 file = open(file_name,"w")3665 file.write("x, y ,sound , speed \n\3666 115.0, 7, splat, 0.0\n\3667 114.0, 8.0, pow, 10.0\n\3668 114.5, 9., bang, 40.0\n")3669 file.close()3670 e1 = Exposure_csv(file_name, is_x_y_locations=True)3671 gsd = e1.get_location()3672 3673 points = gsd.get_data_points(absolute=True)3674 3675 assert num.allclose(points[0][0], 115)3676 assert num.allclose(points[0][1], 7)3677 assert num.allclose(points[1][0], 114)3678 assert num.allclose(points[1][1], 8)3679 assert num.allclose(points[2][0], 114.5)3680 assert num.allclose(points[2][1], 9)3681 self.failUnless(gsd.get_geo_reference().get_zone() == -1,3682 'Bad zone error!')3683 3684 os.remove(file_name)3685 3686 3687 def test_exposure_csv_loading_x_y2(self):3688 3689 csv_file = tempfile.mktemp(".csv")3690 fd = open(csv_file,'wb')3691 writer = csv.writer(fd)3692 writer.writerow(['x','y','STR_VALUE','C_VALUE','ROOF_TYPE','WALLS', 'SHORE_DIST'])3693 writer.writerow([5.5,0.5,'199770','130000','Metal','Timber',20])3694 writer.writerow([4.5,1.0,'150000','76000','Metal','Double Brick',20])3695 writer.writerow([4.5,1.5,'150000','76000','Metal','Brick Veneer',20])3696 fd.close()3697 3698 e1 = Exposure_csv(csv_file)3699 gsd = e1.get_location()3700 3701 points = gsd.get_data_points(absolute=True)3702 assert num.allclose(points[0][0], 5.5)3703 assert num.allclose(points[0][1], 0.5)3704 assert num.allclose(points[1][0], 4.5)3705 assert num.allclose(points[1][1], 1.0)3706 assert num.allclose(points[2][0], 4.5)3707 assert num.allclose(points[2][1], 1.5)3708 self.failUnless(gsd.get_geo_reference().get_zone() == -1,3709 'Bad zone error!')3710 3711 os.remove(csv_file)3712 3406 3713 3407 #### TESTS FOR URS 2 SWW ###
Note: See TracChangeset
for help on using the changeset viewer.