Skip to content

Commit 0d3ed79

Browse files
committed
convert some unit tests to use pytest [WIP]
1 parent 372dba1 commit 0d3ed79

File tree

9 files changed

+333
-483
lines changed

9 files changed

+333
-483
lines changed

test/python_tests/agg_rasterizer_integer_overflow_test.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
#!/usr/bin/env python
2-
# -*- coding: utf-8 -*-
3-
41
import json
5-
6-
from nose.tools import eq_
7-
82
import mapnik
93

10-
from .utilities import run_all
11-
124
# geojson box of the world
135
geojson = {"type": "Feature",
146
"properties": {},
@@ -24,7 +16,6 @@
2416
[-17963313.143242701888084,
2517
-6300857.11560364998877]]]}}
2618

27-
2819
def test_that_coordinates_do_not_overflow_and_polygon_is_rendered_memory():
2920
expected_color = mapnik.Color('white')
3021
projection = 'epsg:4326'
@@ -52,8 +43,7 @@ def test_that_coordinates_do_not_overflow_and_polygon_is_rendered_memory():
5243
# m.zoom_to_box(mapnik.Box2d(-13658379.710221574,6195679.764683247,-13655933.72531645,6198125.749588372))
5344
im = mapnik.Image(256, 256)
5445
mapnik.render(m, im)
55-
eq_(im.get_pixel(128, 128), expected_color.packed())
56-
46+
assert im.get_pixel(128, 128) == expected_color.packed()
5747

5848
def test_that_coordinates_do_not_overflow_and_polygon_is_rendered_csv():
5949
expected_color = mapnik.Color('white')
@@ -84,7 +74,4 @@ def test_that_coordinates_do_not_overflow_and_polygon_is_rendered_csv():
8474
# m.zoom_to_box(mapnik.Box2d(-13658379.710221574,6195679.764683247,-13655933.72531645,6198125.749588372))
8575
im = mapnik.Image(256, 256)
8676
mapnik.render(m, im)
87-
eq_(im.get_pixel(128, 128), expected_color.packed())
88-
89-
if __name__ == "__main__":
90-
exit(run_all(eval(x) for x in dir() if x.startswith("test_")))
77+
assert im.get_pixel(128, 128) == expected_color.packed()

test/python_tests/box2d_test.py

Lines changed: 133 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -1,184 +1,155 @@
1-
#!/usr/bin/env python
2-
# -*- coding: utf-8 -*-
3-
4-
from nose.tools import assert_almost_equal, assert_false, assert_true, eq_
5-
61
import mapnik
7-
8-
from .utilities import run_all
9-
2+
import pytest
103

114
def test_coord_init():
125
c = mapnik.Coord(100, 100)
13-
14-
eq_(c.x, 100)
15-
eq_(c.y, 100)
16-
6+
assert c.x == 100
7+
assert c.y == 100
178

189
def test_coord_multiplication():
19-
c = mapnik.Coord(100, 100)
20-
c *= 2
21-
22-
eq_(c.x, 200)
23-
eq_(c.y, 200)
24-
10+
c = mapnik.Coord(100, 100)
11+
c *= 2
12+
assert c.x == 200
13+
assert c.y == 200
2514

2615
def test_envelope_init():
27-
e = mapnik.Box2d(100, 100, 200, 200)
28-
29-
assert_true(e.contains(100, 100))
30-
assert_true(e.contains(100, 200))
31-
assert_true(e.contains(200, 200))
32-
assert_true(e.contains(200, 100))
33-
34-
assert_true(e.contains(e.center()))
35-
36-
assert_false(e.contains(99.9, 99.9))
37-
assert_false(e.contains(99.9, 200.1))
38-
assert_false(e.contains(200.1, 200.1))
39-
assert_false(e.contains(200.1, 99.9))
40-
41-
eq_(e.width(), 100)
42-
eq_(e.height(), 100)
43-
44-
eq_(e.minx, 100)
45-
eq_(e.miny, 100)
46-
47-
eq_(e.maxx, 200)
48-
eq_(e.maxy, 200)
49-
50-
eq_(e[0], 100)
51-
eq_(e[1], 100)
52-
eq_(e[2], 200)
53-
eq_(e[3], 200)
54-
eq_(e[0], e[-4])
55-
eq_(e[1], e[-3])
56-
eq_(e[2], e[-2])
57-
eq_(e[3], e[-1])
58-
59-
c = e.center()
60-
61-
eq_(c.x, 150)
62-
eq_(c.y, 150)
16+
e = mapnik.Box2d(100, 100, 200, 200)
17+
assert e.contains(100, 100)
18+
assert e.contains(100, 200)
19+
assert e.contains(200, 200)
20+
assert e.contains(200, 100)
21+
assert e.contains(e.center())
22+
assert not e.contains(99.9, 99.9)
23+
assert not e.contains(99.9, 200.1)
24+
assert not e.contains(200.1, 200.1)
25+
assert not e.contains(200.1, 99.9)
26+
assert e.width() == 100
27+
assert e.height() == 100
28+
assert e.minx == 100
29+
assert e.miny == 100
30+
assert e.maxx == 200
31+
assert e.maxy == 200
32+
assert e[0] == 100
33+
assert e[1] == 100
34+
assert e[2] == 200
35+
assert e[3] == 200
36+
assert e[0] == e[-4]
37+
assert e[1] == e[-3]
38+
assert e[2] == e[-2]
39+
assert e[3] == e[-1]
40+
c = e.center()
41+
assert c.x == 150
42+
assert c.y == 150
6343

6444

6545
def test_envelope_static_init():
6646
e = mapnik.Box2d.from_string('100 100 200 200')
6747
e2 = mapnik.Box2d.from_string('100,100,200,200')
6848
e3 = mapnik.Box2d.from_string('100 , 100 , 200 , 200')
69-
eq_(e, e2)
70-
eq_(e, e3)
71-
72-
assert_true(e.contains(100, 100))
73-
assert_true(e.contains(100, 200))
74-
assert_true(e.contains(200, 200))
75-
assert_true(e.contains(200, 100))
76-
77-
assert_true(e.contains(e.center()))
78-
79-
assert_false(e.contains(99.9, 99.9))
80-
assert_false(e.contains(99.9, 200.1))
81-
assert_false(e.contains(200.1, 200.1))
82-
assert_false(e.contains(200.1, 99.9))
83-
84-
eq_(e.width(), 100)
85-
eq_(e.height(), 100)
8649

87-
eq_(e.minx, 100)
88-
eq_(e.miny, 100)
89-
90-
eq_(e.maxx, 200)
91-
eq_(e.maxy, 200)
92-
93-
eq_(e[0], 100)
94-
eq_(e[1], 100)
95-
eq_(e[2], 200)
96-
eq_(e[3], 200)
97-
eq_(e[0], e[-4])
98-
eq_(e[1], e[-3])
99-
eq_(e[2], e[-2])
100-
eq_(e[3], e[-1])
50+
assert e == e2
51+
assert e == e3
52+
assert e.contains(100, 100)
53+
assert e.contains(100, 200)
54+
assert e.contains(200, 200)
55+
assert e.contains(200, 100)
56+
57+
assert e.contains(e.center())
58+
assert not e.contains(99.9, 99.9)
59+
assert not e.contains(99.9, 200.1)
60+
assert not e.contains(200.1, 200.1)
61+
assert not e.contains(200.1, 99.9)
62+
63+
assert e.width() == 100
64+
assert e.height() == 100
65+
assert e.minx == 100
66+
assert e.miny == 100
67+
assert e.maxx == 200
68+
assert e.maxy == 200
69+
70+
assert e[0] == 100
71+
assert e[1] == 100
72+
assert e[2] == 200
73+
assert e[3] == 200
74+
assert e[0] == e[-4]
75+
assert e[1] == e[-3]
76+
assert e[2] == e[-2]
77+
assert e[3] == e[-1]
10178

10279
c = e.center()
103-
104-
eq_(c.x, 150)
105-
eq_(c.y, 150)
106-
80+
assert c.x == 150
81+
assert c.y == 150
10782

10883
def test_envelope_multiplication():
109-
# no width then no impact of multiplication
110-
a = mapnik.Box2d(100, 100, 100, 100)
111-
a *= 5
112-
eq_(a.minx, 100)
113-
eq_(a.miny, 100)
114-
eq_(a.maxx, 100)
115-
eq_(a.maxy, 100)
116-
117-
a = mapnik.Box2d(100.0, 100.0, 100.0, 100.0)
118-
a *= 5
119-
eq_(a.minx, 100)
120-
eq_(a.miny, 100)
121-
eq_(a.maxx, 100)
122-
eq_(a.maxy, 100)
123-
124-
a = mapnik.Box2d(100.0, 100.0, 100.001, 100.001)
125-
a *= 5
126-
assert_almost_equal(a.minx, 99.9979, places=3)
127-
assert_almost_equal(a.miny, 99.9979, places=3)
128-
assert_almost_equal(a.maxx, 100.0030, places=3)
129-
assert_almost_equal(a.maxy, 100.0030, places=3)
130-
131-
e = mapnik.Box2d(100, 100, 200, 200)
132-
e *= 2
133-
eq_(e.minx, 50)
134-
eq_(e.miny, 50)
135-
eq_(e.maxx, 250)
136-
eq_(e.maxy, 250)
137-
138-
assert_true(e.contains(50, 50))
139-
assert_true(e.contains(50, 250))
140-
assert_true(e.contains(250, 250))
141-
assert_true(e.contains(250, 50))
142-
143-
assert_false(e.contains(49.9, 49.9))
144-
assert_false(e.contains(49.9, 250.1))
145-
assert_false(e.contains(250.1, 250.1))
146-
assert_false(e.contains(250.1, 49.9))
147-
148-
assert_true(e.contains(e.center()))
149-
150-
eq_(e.width(), 200)
151-
eq_(e.height(), 200)
152-
153-
eq_(e.minx, 50)
154-
eq_(e.miny, 50)
155-
156-
eq_(e.maxx, 250)
157-
eq_(e.maxy, 250)
158-
159-
c = e.center()
160-
161-
eq_(c.x, 150)
162-
eq_(c.y, 150)
84+
# no width then no impact of multiplication
85+
a = mapnik.Box2d(100, 100, 100, 100)
86+
a *= 5
87+
assert a.minx == 100
88+
assert a.miny == 100
89+
assert a.maxx == 100
90+
assert a.maxy == 100
91+
92+
a = mapnik.Box2d(100.0, 100.0, 100.0, 100.0)
93+
a *= 5
94+
assert a.minx == 100
95+
assert a.miny == 100
96+
assert a.maxx == 100
97+
assert a.maxy == 100
98+
99+
a = mapnik.Box2d(100.0, 100.0, 100.001, 100.001)
100+
a *= 5
101+
assert a.minx == pytest.approx(99.9979, 1e-3)
102+
assert a.miny == pytest.approx(99.9979, 1e-3)
103+
assert a.maxx == pytest.approx(100.0030,1e-3)
104+
assert a.maxy == pytest.approx(100.0030,1e-3)
105+
106+
e = mapnik.Box2d(100, 100, 200, 200)
107+
e *= 2
108+
assert e.minx == 50
109+
assert e.miny == 50
110+
assert e.maxx == 250
111+
assert e.maxy == 250
112+
113+
assert e.contains(50, 50)
114+
assert e.contains(50, 250)
115+
assert e.contains(250, 250)
116+
assert e.contains(250, 50)
117+
118+
assert not e.contains(49.9, 49.9)
119+
assert not e.contains(49.9, 250.1)
120+
assert not e.contains(250.1, 250.1)
121+
assert not e.contains(250.1, 49.9)
122+
123+
c = e.center()
124+
assert c.x == 150
125+
assert c.y == 150
126+
127+
assert e.contains(c)
128+
129+
assert e.width() == 200
130+
assert e.height()== 200
131+
132+
assert e.minx == 50
133+
assert e.miny == 50
134+
135+
assert e.maxx == 250
136+
assert e.maxy == 250
163137

164138

165139
def test_envelope_clipping():
166-
e1 = mapnik.Box2d(-180, -90, 180, 90)
167-
e2 = mapnik.Box2d(-120, 40, -110, 48)
168-
e1.clip(e2)
169-
eq_(e1, e2)
170-
171-
# madagascar in merc
172-
e1 = mapnik.Box2d(4772116.5490, -2744395.0631, 5765186.4203, -1609458.0673)
173-
e2 = mapnik.Box2d(5124338.3753, -2240522.1727, 5207501.8621, -2130452.8520)
174-
e1.clip(e2)
175-
eq_(e1, e2)
176-
177-
# nz in lon/lat
178-
e1 = mapnik.Box2d(163.8062, -47.1897, 179.3628, -33.9069)
179-
e2 = mapnik.Box2d(173.7378, -39.6395, 174.4849, -38.9252)
180-
e1.clip(e2)
181-
eq_(e1, e2)
182-
183-
if __name__ == "__main__":
184-
exit(run_all(eval(x) for x in dir() if x.startswith("test_")))
140+
e1 = mapnik.Box2d(-180, -90, 180, 90)
141+
e2 = mapnik.Box2d(-120, 40, -110, 48)
142+
e1.clip(e2)
143+
assert e1 == e2
144+
145+
# madagascar in merc
146+
e1 = mapnik.Box2d(4772116.5490, -2744395.0631, 5765186.4203, -1609458.0673)
147+
e2 = mapnik.Box2d(5124338.3753, -2240522.1727, 5207501.8621, -2130452.8520)
148+
e1.clip(e2)
149+
assert e1 == e2
150+
151+
# # nz in lon/lat
152+
e1 = mapnik.Box2d(163.8062, -47.1897, 179.3628, -33.9069)
153+
e2 = mapnik.Box2d(173.7378, -39.6395, 174.4849, -38.9252)
154+
e1.clip(e2)
155+
assert e1 == e2

0 commit comments

Comments
 (0)