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
|
import os
import mapnik
import pytest
from .utilities import execution_path
@pytest.fixture(scope="module")
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('.'))
yield
def test_datasource_template_is_working(setup):
if not os.path.exists('../data/good_maps/datasource.xml'):
pytest.skip('Missing data')
m = mapnik.Map(256, 256)
mapnik.load_map(m, '../data/good_maps/datasource.xml')
for layer in m.layers:
layer_bbox = layer.envelope()
bbox = None
first = True
for feature in layer.datasource:
assert feature.envelope() == feature.geometry.envelope()
assert layer_bbox.contains(feature.envelope())
if first:
first = False
bbox = feature.envelope()
else:
bbox += feature.envelope()
assert layer_bbox == bbox
|