153 lines
3.2 KiB
Python
153 lines
3.2 KiB
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
import os
|
||
|
from nose.tools import *
|
||
|
import mapnik
|
||
|
|
||
|
|
||
|
def test_coord_init():
|
||
|
c = mapnik.Coord(100, 100)
|
||
|
|
||
|
eq_(c.x, 100)
|
||
|
eq_(c.y, 100)
|
||
|
|
||
|
def test_coord_multiplication():
|
||
|
c = mapnik.Coord(100, 100)
|
||
|
c *= 2
|
||
|
|
||
|
eq_(c.x, 200)
|
||
|
eq_(c.y, 200)
|
||
|
|
||
|
def test_envelope_init():
|
||
|
e = mapnik.Box2d(100, 100, 200, 200)
|
||
|
|
||
|
assert_true(e.contains(100, 100))
|
||
|
assert_true(e.contains(100, 200))
|
||
|
assert_true(e.contains(200, 200))
|
||
|
assert_true(e.contains(200, 100))
|
||
|
|
||
|
assert_true(e.contains(e.center()))
|
||
|
|
||
|
assert_false(e.contains(99.9, 99.9))
|
||
|
assert_false(e.contains(99.9, 200.1))
|
||
|
assert_false(e.contains(200.1, 200.1))
|
||
|
assert_false(e.contains(200.1, 99.9))
|
||
|
|
||
|
eq_(e.width(), 100)
|
||
|
eq_(e.height(), 100)
|
||
|
|
||
|
eq_(e.minx, 100)
|
||
|
eq_(e.miny, 100)
|
||
|
|
||
|
eq_(e.maxx, 200)
|
||
|
eq_(e.maxy, 200)
|
||
|
|
||
|
eq_(e[0],100)
|
||
|
eq_(e[1],100)
|
||
|
eq_(e[2],200)
|
||
|
eq_(e[3],200)
|
||
|
eq_(e[0],e[-4])
|
||
|
eq_(e[1],e[-3])
|
||
|
eq_(e[2],e[-2])
|
||
|
eq_(e[3],e[-1])
|
||
|
|
||
|
c = e.center()
|
||
|
|
||
|
eq_(c.x, 150)
|
||
|
eq_(c.y, 150)
|
||
|
|
||
|
def test_envelope_static_init():
|
||
|
e = mapnik.Box2d.from_string('100 100 200 200')
|
||
|
e2 = mapnik.Box2d.from_string('100,100,200,200')
|
||
|
e3 = mapnik.Box2d.from_string('100 , 100 , 200 , 200')
|
||
|
eq_(e,e2)
|
||
|
eq_(e,e3)
|
||
|
|
||
|
assert_true(e.contains(100, 100))
|
||
|
assert_true(e.contains(100, 200))
|
||
|
assert_true(e.contains(200, 200))
|
||
|
assert_true(e.contains(200, 100))
|
||
|
|
||
|
assert_true(e.contains(e.center()))
|
||
|
|
||
|
assert_false(e.contains(99.9, 99.9))
|
||
|
assert_false(e.contains(99.9, 200.1))
|
||
|
assert_false(e.contains(200.1, 200.1))
|
||
|
assert_false(e.contains(200.1, 99.9))
|
||
|
|
||
|
eq_(e.width(), 100)
|
||
|
eq_(e.height(), 100)
|
||
|
|
||
|
eq_(e.minx, 100)
|
||
|
eq_(e.miny, 100)
|
||
|
|
||
|
eq_(e.maxx, 200)
|
||
|
eq_(e.maxy, 200)
|
||
|
|
||
|
eq_(e[0],100)
|
||
|
eq_(e[1],100)
|
||
|
eq_(e[2],200)
|
||
|
eq_(e[3],200)
|
||
|
eq_(e[0],e[-4])
|
||
|
eq_(e[1],e[-3])
|
||
|
eq_(e[2],e[-2])
|
||
|
eq_(e[3],e[-1])
|
||
|
|
||
|
c = e.center()
|
||
|
|
||
|
eq_(c.x, 150)
|
||
|
eq_(c.y, 150)
|
||
|
|
||
|
def test_envelope_multiplication():
|
||
|
e = mapnik.Box2d(100, 100, 200, 200)
|
||
|
e *= 2
|
||
|
|
||
|
assert_true(e.contains(50, 50))
|
||
|
assert_true(e.contains(50, 250))
|
||
|
assert_true(e.contains(250, 250))
|
||
|
assert_true(e.contains(250, 50))
|
||
|
|
||
|
assert_false(e.contains(49.9, 49.9))
|
||
|
assert_false(e.contains(49.9, 250.1))
|
||
|
assert_false(e.contains(250.1, 250.1))
|
||
|
assert_false(e.contains(250.1, 49.9))
|
||
|
|
||
|
assert_true(e.contains(e.center()))
|
||
|
|
||
|
eq_(e.width(), 200)
|
||
|
eq_(e.height(), 200)
|
||
|
|
||
|
eq_(e.minx, 50)
|
||
|
eq_(e.miny, 50)
|
||
|
|
||
|
eq_(e.maxx, 250)
|
||
|
eq_(e.maxy, 250)
|
||
|
|
||
|
c = e.center()
|
||
|
|
||
|
eq_(c.x, 150)
|
||
|
eq_(c.y, 150)
|
||
|
|
||
|
def test_envelope_clipping():
|
||
|
e1 = mapnik.Box2d(-180,-90,180,90)
|
||
|
e2 = mapnik.Box2d(-120,40,-110,48)
|
||
|
e1.clip(e2)
|
||
|
eq_(e1,e2)
|
||
|
|
||
|
# madagascar in merc
|
||
|
e1 = mapnik.Box2d(4772116.5490, -2744395.0631, 5765186.4203, -1609458.0673)
|
||
|
e2 = mapnik.Box2d(5124338.3753, -2240522.1727, 5207501.8621, -2130452.8520)
|
||
|
e1.clip(e2)
|
||
|
eq_(e1,e2)
|
||
|
|
||
|
# nz in lon/lat
|
||
|
e1 = mapnik.Box2d(163.8062, -47.1897, 179.3628, -33.9069)
|
||
|
e2 = mapnik.Box2d(173.7378, -39.6395, 174.4849, -38.9252)
|
||
|
e1.clip(e2)
|
||
|
eq_(e1,e2)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
setup()
|
||
|
[eval(run)() for run in dir() if 'test_' in run]
|