forked from geopy/geopy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_point.py
100 lines (84 loc) · 2.64 KB
/
test_point.py
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
"""
Test Point.
"""
import unittest
from geopy.compat import u
from geopy.point import Point
class PointTestCase(unittest.TestCase): # pylint: disable=R0904
"""
geopy.point.Point
"""
lat = 40.74113
lon = -73.989656
alt = 3
coords = (lat, lon, alt)
def test_point_float(self):
"""
Point() floats
"""
point = Point(self.lat, self.lon, self.alt)
self.assertEqual(point.longitude, self.lon)
self.assertEqual(point.latitude, self.lat)
self.assertEqual(point.altitude, self.alt)
def test_point_str_simple(self):
"""
Point() str
"""
for each in ("%s,%s", "%s %s", "%s;%s"):
point = Point(each % (self.lat, self.lon))
self.assertEqual(point.longitude, self.lon)
self.assertEqual(point.latitude, self.lat)
def test_point_str_deg(self):
"""
Point() str degrees, minutes &c
"""
point = Point(u("UT: N 39\xb020' 0'' / W 74\xb035' 0''"))
self.assertEqual(point.latitude, 39.333333333333336)
self.assertEqual(point.longitude, -74.58333333333333)
self.assertEqual(point.altitude, 0)
def test_point_format(self):
"""
Point.format()
"""
point = Point("51 19m 12.9s N, 0 1m 24.95s E")
self.assertEqual(point.format(), "51 19m 12.9s N, 0 1m 24.95s E")
def test_point_format_altitude(self):
"""
Point.format() includes altitude
"""
point = Point(latitude=41.5, longitude=81.0, altitude=2.5)
self.assertEqual(point.format(), "41 30m 0s N, 81 0m 0s E, 2.5km")
def test_point_getitem(self):
"""
Point.__getitem__
"""
point = Point(self.lat, self.lon, self.alt)
self.assertEqual(point[0], self.lat)
self.assertEqual(point[1], self.lon)
self.assertEqual(point[2], self.alt)
def test_point_setitem(self):
"""
Point.__setitem__
"""
point = Point(self.lat + 10, self.lon + 10, self.alt + 10)
for each in (0, 1, 2):
point[each] = point[each] - 10
self.assertEqual(point[0], self.lat)
self.assertEqual(point[1], self.lon)
self.assertEqual(point[2], self.alt)
def test_point_eq(self):
"""
Point.__eq__
"""
self.assertEqual(
Point(self.lat, self.lon),
Point("%s %s" % (self.lat, self.lon))
)
def test_point_ne(self):
"""
Point.__ne__
"""
self.assertTrue(
Point(self.lat, self.lon, self.alt) !=
Point(self.lat+10, self.lon-10, self.alt)
)