Ignore:
Timestamp:
Jun 22, 2010, 12:04:32 PM (13 years ago)
Author:
hudson
Message:

More swb tests passing. Cleaned up some pylint errors.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_core/source/anuga/file/test_csv.py

    r7772 r7866  
    220220       
    221221
     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
    222403
    223404
Note: See TracChangeset for help on using the changeset viewer.