mapnik/tests/python_tests/query_test.py
Rich Wareham 7b3baee3a1 python bindings: export Query.resolution property as a tuple
Although the mapnik::query class is exposed to the Python bindings, the
resolution attribute is a raw boost::tuple. If you attempt to access
this tuple from Python, boost complains strongly.

This patch adds the required magic to marshal the raw boost::tuple which
is query::resolution_type into an honest-to-goodness Python tuple.
2012-07-19 19:35:20 +01:00

33 lines
955 B
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, mapnik
from nose.tools import *
from utilities import execution_path
def setup():
# All of the paths used are relative, if we run the tests
# from another directory we need to chdir()
os.chdir(execution_path('.'))
def test_query_init():
bbox = (-180, -90, 180, 90)
query = mapnik.Query(mapnik.Box2d(*bbox))
r = query.resolution
assert_almost_equal(r[0], 1.0, places=7)
assert_almost_equal(r[1], 1.0, places=7)
# Converting *from* tuples *to* resolutions is not yet supported
@raises(TypeError)
def test_query_resolution():
bbox = (-180, -90, 180, 90)
init_res = (4.5, 6.7)
query = mapnik.Query(mapnik.Box2d(*bbox), init_res)
r = query.resolution
assert_almost_equal(r[0], init_res[0], places=7)
assert_almost_equal(r[1], init_res[1], places=7)
if __name__ == "__main__":
setup()
[eval(run)() for run in dir() if 'test_' in run]