forked from unitedstates/python-us
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.py
More file actions
103 lines (66 loc) · 2.93 KB
/
tests.py
File metadata and controls
103 lines (66 loc) · 2.93 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
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)
if __name__ == '__main__':
unittest.main()