diff --git a/tests/python_tests/datasource_test.py b/tests/python_tests/datasource_test.py index fa19c1df1..2c5fe72e5 100644 --- a/tests/python_tests/datasource_test.py +++ b/tests/python_tests/datasource_test.py @@ -14,4 +14,34 @@ def test_field_listing(): lyr = mapnik.Layer('test') lyr.datasource = mapnik.Shapefile(file='../data/shp/poly.shp') fields = lyr.datasource.fields() - eq_(fields, ['AREA', 'EAS_ID', 'PRFEDEA']) \ No newline at end of file + eq_(fields, ['AREA', 'EAS_ID', 'PRFEDEA']) + +def test_total_feature_count(): + lyr = mapnik.Layer('test') + lyr.datasource = mapnik.Shapefile(file='../data/shp/poly.shp') + features = lyr.datasource.all_features() + num_feats = len(features) + eq_(num_feats, 10) + +def test_feature_envelope(): + lyr = mapnik.Layer('test') + lyr.datasource = mapnik.Shapefile(file='../data/shp/poly.shp') + features = lyr.datasource.all_features() + for feat in features: + env = feat.envelope() + contains = lyr.envelope().contains(env) + eq_(contains, True) + intersects = lyr.envelope().contains(env) + eq_(intersects, True) + +def test_feature_attributes(): + lyr = mapnik.Layer('test') + lyr.datasource = mapnik.Shapefile(file='../data/shp/poly.shp') + features = lyr.datasource.all_features() + feat = features[0] + attrs = {'PRFEDEA': u'35043411', 'EAS_ID': 168, 'AREA': 215229.266} + eq_(feat.attributes, attrs) + fld_name = 'AREA' + fld_idx = lyr.datasource.fields().index(fld_name) + eq_(lyr.datasource.field_types()[fld_idx],type(feat.attributes[fld_name])) + \ No newline at end of file