-
Notifications
You must be signed in to change notification settings - Fork 70
Expand file tree
/
Copy pathtests.py
More file actions
128 lines (82 loc) · 3.7 KB
/
tests.py
File metadata and controls
128 lines (82 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
from __future__ import unicode_literals
import unittest
import requests
import us
class AttributeTestCase(unittest.TestCase):
def test_attribute(self):
for state in us.STATES_AND_TERRITORIES:
self.assertEqual(state, getattr(us.states, state.abbr))
class MarylandLookupTestCase(unittest.TestCase):
def test_fips(self):
self.assertEqual(us.states.lookup('24'), us.states.MD)
self.assertNotEqual(us.states.lookup('51'), us.states.MD)
def test_abbr(self):
self.assertEqual(us.states.lookup('MD'), us.states.MD)
self.assertEqual(us.states.lookup('md'), us.states.MD)
self.assertNotEqual(us.states.lookup('VA'), us.states.MD)
self.assertNotEqual(us.states.lookup('va'), us.states.MD)
def test_name(self):
self.assertEqual(us.states.lookup('Maryland'), us.states.MD)
self.assertEqual(us.states.lookup('maryland'), us.states.MD)
self.assertEqual(us.states.lookup('Maryland', field='name'),
us.states.MD)
self.assertEqual(us.states.lookup('maryland', field='name'), None)
self.assertEqual(us.states.lookup('murryland'), us.states.MD)
self.assertNotEqual(us.states.lookup('Virginia'), us.states.MD)
class LookupTestCase(unittest.TestCase):
def test_abbr_lookup(self):
for state in us.STATES:
self.assertEqual(us.states.lookup(state.abbr), state)
def test_fips_lookup(self):
for state in us.STATES:
self.assertEqual(us.states.lookup(state.fips), state)
def test_name_lookup(self):
for state in us.STATES:
self.assertEqual(us.states.lookup(state.name), state)
class MappingTestCase(unittest.TestCase):
def test_mapping(self):
states = us.STATES[:5]
self.assertEqual(
us.states.mapping('abbr', 'fips', states=states),
dict((s.abbr, s.fips) for s in states))
class KnownBugsTestCase(unittest.TestCase):
def test_kentucky_uppercase(self):
self.assertEqual(us.states.lookup('kentucky'), us.states.KY)
self.assertEqual(us.states.lookup('KENTUCKY'), us.states.KY)
class ShapefileTestCase(unittest.TestCase):
def test_head(self):
for state in us.STATES_AND_TERRITORIES:
for region, url in state.shapefile_urls().items():
resp = requests.head(url)
self.assertEqual(resp.status_code, 200)
class CountsTestCase(unittest.TestCase):
def test_obsolete(self):
self.assertEqual(len(us.OBSOLETE), 3)
def test_states(self):
self.assertEqual(len(us.STATES), 51)
def test_territories(self):
self.assertEqual(len(us.TERRITORIES), 5)
def test_contiguous(self):
# Lower 48 + DC
self.assertEqual(len(us.STATES_CONTIGUOUS), 49)
def test_continental(self):
# Lower 48 + DC + Alaska
self.assertEqual(len(us.STATES_CONTINENTAL), 50)
def test_counties(self):
# 3221 counties
self.assertEqual(len(us.COUNTIES), 3221)
class CountyLookupTestCase(unittest.TestCase):
def test_fips(self):
self.assertEqual(us.counties.lookup('27053')[0].name, "Hennepin County")
def test_name(self):
self.assertEqual(len(us.counties.lookup('Washington')), 31)
self.assertEqual(len(us.counties.lookup('Hennepin')), 1)
def test_fullfips(self):
self.assertEqual(us.counties.lookup('Hennepin')[0].full_fips, u'27053')
class CountyStateLinkTestCase(unittest.TestCase):
def test_state_counties(self):
self.assertEqual(len(us.states.MN.counties), 87)
def test_county_state(self):
self.assertEqual(us.counties.lookup('27053')[0].state, us.states.MN)
if __name__ == '__main__':
unittest.main()