Mercurial > hg > GlobalNeighbors
diff tests/test_grid.py @ 1:1b94f3bf97e5
* limit distance function
* start gridding
* improve unicode handling
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sat, 24 Jun 2017 14:02:14 -0700 |
parents | 5dba84370182 |
children | 49aae0c0293b |
line wrap: on
line diff
--- a/tests/test_grid.py Sat Jun 24 12:03:39 2017 -0700 +++ b/tests/test_grid.py Sat Jun 24 14:02:14 2017 -0700 @@ -4,18 +4,28 @@ test that we can grid a solution """ +import os import unittest +from common import datafile from globalneighbors.grid import LatLonGrid +from globalneighbors.locations import locations +from globalneighbors.read import read_city_list + class TestGrid(unittest.TestCase): """test gridding functionality""" + ### test functions + def test_dimensions(self): # make a 2 degree grid grid = LatLonGrid(90, 180) assert grid.n == (90, 180) assert grid.d == (2., 2.) + assert len(grid.grid) == 90 + for row in grid.grid: + assert len(row) == 180 def test_insertion(self): @@ -25,7 +35,23 @@ i, j = grid.index(*coord) assert i == 1 assert j == 3 - assert grid[(i,j)] == [1234] + assert grid[(i,j)] == set([1234]) + + def test_sample(self): + + samplefile = datafile('sample.tsv') + assert os.path.exists(samplefile) + city_locations = locations(read_city_list(samplefile)) + self.grid_locations(city_locations) + + ### generic (utility) functions + + def grid_locations(self, locations): + """grid locations + test created grid""" + + grid = LatLonGrid(8, 8) + for geoid, (lat, lon) in locations.items(): + grid.add(geoid, lat, lon) if __name__ == '__main__': unittest.main()