add test comparing geometry handling between ogr and shape plugin - currently fails

This commit is contained in:
Dane Springmeyer 2011-12-21 12:26:03 -08:00
parent b6e78ab06b
commit b12498f967
4 changed files with 44 additions and 0 deletions

BIN
tests/data/shp/wkt_poly.dbf Normal file

Binary file not shown.

BIN
tests/data/shp/wkt_poly.shp Normal file

Binary file not shown.

BIN
tests/data/shp/wkt_poly.shx Normal file

Binary file not shown.

View file

@ -0,0 +1,44 @@
#!/usr/bin/env python
from nose.tools import *
from utilities import execution_path, Todo
import os, sys, glob, mapnik
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('.'))
# TODO - fix truncation in shapefile...
polys = ["POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))",
"POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10),(20 30, 35 35, 30 20, 20 30))",
"MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))"
"MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),(30 20, 20 25, 20 15, 30 20)))"
]
plugins = mapnik.DatasourceCache.instance().plugin_names()
if 'shape' in plugins and 'ogr' in plugins:
def test_geometries_are_interpreted_equivalently():
shapefile = '../data/shp/wkt_poly.shp'
ds1 = mapnik.Ogr(file=shapefile,layer_by_index=0)
ds2 = mapnik.Shapefile(file=shapefile)
fs1 = ds1.featureset()
fs2 = ds2.featureset()
count = 0;
while(True):
count += 1
feat1 = fs1.next()
feat2 = fs2.next()
if not feat1:
break
#import pdb;pdb.set_trace()
#print feat1
eq_(str(feat1),str(feat2))
eq_(feat1.geometries().to_wkt(),feat2.geometries().to_wkt())
if __name__ == "__main__":
setup()
[eval(run)() for run in dir() if 'test_' in run]