Skip to content

Commit

Permalink
initial gis test structure
Browse files Browse the repository at this point in the history
  • Loading branch information
ptone committed Sep 11, 2012
1 parent b9101d4 commit f73d053
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 1 deletion.
32 changes: 32 additions & 0 deletions django/contrib/gis/db/models/sql/matching.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
match_functions = {'bbcontains': None,
'bboverlaps': None,
'contained': None,
'contains': None,
'contains_properly': None,
'coveredby': None,
'covers': None,
'crosses': None,
'disjoint': None,
'distance_gt': None,
'distance_gte': None,
'distance_lt': None,
'distance_lte': None,
'dwithin': None,
'equals': None,
'exact': None,
'intersects': None,
'overlaps': None,
'relate': None,
'same_as': None,
'touches': None,
'within': None,
'left': None,
'right': None,
'overlaps_left': None,
'overlaps_right': None,
'overlaps_above': None,
'overlaps_below': None,
'strictly_above': None,
'strictly_below': None}


2 changes: 1 addition & 1 deletion django/contrib/gis/tests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def geo_apps(namespace=True, runtests=False):
from django.contrib.gis.geos import GEOS_PREPARE
from django.contrib.gis.gdal import HAS_GDAL

apps = ['geoapp', 'relatedapp']
apps = ['geoapp', 'relatedapp', 'geo_q_predicate']

# No distance queries on MySQL.
if not connection.ops.mysql:
Expand Down
Empty file.
56 changes: 56 additions & 0 deletions django/contrib/gis/tests/geo_q_predicate/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
from django.contrib.gis.db import models
from django.contrib.gis.tests.utils import mysql, spatialite
from django.utils.encoding import python_2_unicode_compatible

# MySQL spatial indices can't handle NULL geometries.
null_flag = not mysql

@python_2_unicode_compatible
class Country(models.Model):
name = models.CharField(max_length=30)
mpoly = models.MultiPolygonField() # SRID, by default, is 4326
objects = models.GeoManager()
def __str__(self): return self.name

@python_2_unicode_compatible
class City(models.Model):
name = models.CharField(max_length=30)
point = models.PointField()
objects = models.GeoManager()
def __str__(self): return self.name

# This is an inherited model from City
class PennsylvaniaCity(City):
county = models.CharField(max_length=30)
founded = models.DateTimeField(null=True)
objects = models.GeoManager() # TODO: This should be implicitly inherited.

@python_2_unicode_compatible
class State(models.Model):
name = models.CharField(max_length=30)
poly = models.PolygonField(null=null_flag) # Allowing NULL geometries here.
objects = models.GeoManager()
def __str__(self): return self.name

@python_2_unicode_compatible
class Track(models.Model):
name = models.CharField(max_length=30)
line = models.LineStringField()
objects = models.GeoManager()
def __str__(self): return self.name

class Truth(models.Model):
val = models.BooleanField()
objects = models.GeoManager()

if not spatialite:
@python_2_unicode_compatible
class Feature(models.Model):
name = models.CharField(max_length=20)
geom = models.GeometryField()
objects = models.GeoManager()
def __str__(self): return self.name

class MinusOneSRID(models.Model):
geom = models.PointField(srid=-1) # Minus one SRID.
objects = models.GeoManager()
6 changes: 6 additions & 0 deletions django/contrib/gis/tests/geo_q_predicate/tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.test import TestCase

class GeoPredicateTest(TestCase):

def test_simple(self):
self.asserEqual(1,1)

0 comments on commit f73d053

Please sign in to comment.