diff options
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/gis/geometry/test_data.py')
-rw-r--r-- | lib/python2.7/site-packages/django/contrib/gis/geometry/test_data.py | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/gis/geometry/test_data.py b/lib/python2.7/site-packages/django/contrib/gis/geometry/test_data.py deleted file mode 100644 index e13e858..0000000 --- a/lib/python2.7/site-packages/django/contrib/gis/geometry/test_data.py +++ /dev/null @@ -1,106 +0,0 @@ -""" -This module has the mock object definitions used to hold reference geometry -for the GEOS and GDAL tests. -""" -import json -import os - -from django.contrib import gis -from django.utils import six -from django.utils._os import upath - - -# This global used to store reference geometry data. -GEOMETRIES = None - -# Path where reference test data is located. -TEST_DATA = os.path.join(os.path.dirname(upath(gis.__file__)), 'tests', 'data') - - -def tuplize(seq): - "Turn all nested sequences to tuples in given sequence." - if isinstance(seq, (list, tuple)): - return tuple([tuplize(i) for i in seq]) - return seq - - -def strconvert(d): - "Converts all keys in dictionary to str type." - return dict([(str(k), v) for k, v in six.iteritems(d)]) - - -def get_ds_file(name, ext): - return os.path.join(TEST_DATA, - name, - name + '.%s' % ext - ) - - -class TestObj(object): - """ - Base testing object, turns keyword args into attributes. - """ - def __init__(self, **kwargs): - for key, value in kwargs.items(): - setattr(self, key, value) - - -class TestDS(TestObj): - """ - Object for testing GDAL data sources. - """ - def __init__(self, name, **kwargs): - # Shapefile is default extension, unless specified otherwise. - ext = kwargs.pop('ext', 'shp') - self.ds = get_ds_file(name, ext) - super(TestDS, self).__init__(**kwargs) - - -class TestGeom(TestObj): - """ - Testing object used for wrapping reference geometry data - in GEOS/GDAL tests. - """ - def __init__(self, **kwargs): - # Converting lists to tuples of certain keyword args - # so coordinate test cases will match (JSON has no - # concept of tuple). - coords = kwargs.pop('coords', None) - if coords: - self.coords = tuplize(coords) - - centroid = kwargs.pop('centroid', None) - if centroid: - self.centroid = tuple(centroid) - - ext_ring_cs = kwargs.pop('ext_ring_cs', None) - if ext_ring_cs: - ext_ring_cs = tuplize(ext_ring_cs) - self.ext_ring_cs = ext_ring_cs - - super(TestGeom, self).__init__(**kwargs) - - -class TestGeomSet(object): - """ - Each attribute of this object is a list of `TestGeom` instances. - """ - def __init__(self, **kwargs): - for key, value in kwargs.items(): - setattr(self, key, [TestGeom(**strconvert(kw)) for kw in value]) - - -class TestDataMixin(object): - """ - Mixin used for GEOS/GDAL test cases that defines a `geometries` - property, which returns and/or loads the reference geometry data. - """ - @property - def geometries(self): - global GEOMETRIES - if GEOMETRIES is None: - # Load up the test geometry data from fixture into global. - with open(os.path.join(TEST_DATA, 'geometries.json')) as f: - geometries = json.load(f) - GEOMETRIES = TestGeomSet(**strconvert(geometries)) - return GEOMETRIES |