Loading tests/gis_tests/geoapp/test_functions.py +10 −4 Original line number Diff line number Diff line Loading @@ -167,8 +167,8 @@ class GISFunctionsTests(TestCase): def test_difference(self): geom = Point(5, 23, srid=4326) qs = Country.objects.annotate(diff=functions.Difference('mpoly', geom)) # For some reason SpatiaLite does something screwy with the Texas geometry here. if spatialite: # SpatiaLite and Oracle do something screwy with the Texas geometry. if spatialite or oracle: qs = qs.exclude(name='Texas') for c in qs: Loading @@ -179,8 +179,8 @@ class GISFunctionsTests(TestCase): """Testing with mixed SRID (Country has default 4326).""" geom = Point(556597.4, 2632018.6, srid=3857) # Spherical mercator qs = Country.objects.annotate(difference=functions.Difference('mpoly', geom)) # For some reason SpatiaLite does something screwy with the Texas geometry here. if spatialite: # SpatiaLite and Oracle do something screwy with the Texas geometry. if spatialite or oracle: qs = qs.exclude(name='Texas') for c in qs: self.assertTrue(c.mpoly.difference(geom).equals(c.difference)) Loading Loading @@ -224,6 +224,9 @@ class GISFunctionsTests(TestCase): if spatialite or mysql: # When the intersection is empty, Spatialite and MySQL return None expected = None elif oracle: # When the intersection is empty, Oracle returns an empty string expected = '' else: expected = c.mpoly.intersection(geom) self.assertEqual(c.inter, expected) Loading Loading @@ -378,6 +381,9 @@ class GISFunctionsTests(TestCase): def test_sym_difference(self): geom = Point(5, 23, srid=4326) qs = Country.objects.annotate(sym_difference=functions.SymDifference('mpoly', geom)) # Oracle does something screwy with the Texas geometry. if oracle: qs = qs.exclude(name='Texas') for country in qs: self.assertTrue(country.mpoly.sym_difference(geom).equals(country.sym_difference)) Loading tests/gis_tests/geogapp/tests.py +6 −3 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ class GeographyTest(TestCase): def test06_geography_area(self): "Testing that Area calculations work on geography columns." # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; ref_area = 5439100.95415646 if oracle else 5439084.70637573 ref_area = 5439100.13586914 if oracle else 5439084.70637573 tol = 5 z = Zipcode.objects.area().get(code='77002') self.assertAlmostEqual(z.area.sq_m, ref_area, tol) Loading @@ -113,6 +113,9 @@ class GeographyFunctionTests(TestCase): """ Testing Distance() support on non-point geography fields. """ if oracle: ref_dists = [0, 4899.68, 8081.30, 9115.15] else: ref_dists = [0, 4891.20, 8071.64, 9123.95] htown = City.objects.get(name='Houston') qs = Zipcode.objects.annotate(distance=Distance('poly', htown.point)) Loading @@ -125,7 +128,7 @@ class GeographyFunctionTests(TestCase): Testing that Area calculations work on geography columns. """ # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; ref_area = 5439100.95415646 if oracle else 5439084.70637573 ref_area = 5439100.13587 if oracle else 5439084.70637573 tol = 5 z = Zipcode.objects.annotate(area=Area('poly')).get(code='77002') self.assertAlmostEqual(z.area.sq_m, ref_area, tol) Loading
tests/gis_tests/geoapp/test_functions.py +10 −4 Original line number Diff line number Diff line Loading @@ -167,8 +167,8 @@ class GISFunctionsTests(TestCase): def test_difference(self): geom = Point(5, 23, srid=4326) qs = Country.objects.annotate(diff=functions.Difference('mpoly', geom)) # For some reason SpatiaLite does something screwy with the Texas geometry here. if spatialite: # SpatiaLite and Oracle do something screwy with the Texas geometry. if spatialite or oracle: qs = qs.exclude(name='Texas') for c in qs: Loading @@ -179,8 +179,8 @@ class GISFunctionsTests(TestCase): """Testing with mixed SRID (Country has default 4326).""" geom = Point(556597.4, 2632018.6, srid=3857) # Spherical mercator qs = Country.objects.annotate(difference=functions.Difference('mpoly', geom)) # For some reason SpatiaLite does something screwy with the Texas geometry here. if spatialite: # SpatiaLite and Oracle do something screwy with the Texas geometry. if spatialite or oracle: qs = qs.exclude(name='Texas') for c in qs: self.assertTrue(c.mpoly.difference(geom).equals(c.difference)) Loading Loading @@ -224,6 +224,9 @@ class GISFunctionsTests(TestCase): if spatialite or mysql: # When the intersection is empty, Spatialite and MySQL return None expected = None elif oracle: # When the intersection is empty, Oracle returns an empty string expected = '' else: expected = c.mpoly.intersection(geom) self.assertEqual(c.inter, expected) Loading Loading @@ -378,6 +381,9 @@ class GISFunctionsTests(TestCase): def test_sym_difference(self): geom = Point(5, 23, srid=4326) qs = Country.objects.annotate(sym_difference=functions.SymDifference('mpoly', geom)) # Oracle does something screwy with the Texas geometry. if oracle: qs = qs.exclude(name='Texas') for country in qs: self.assertTrue(country.mpoly.sym_difference(geom).equals(country.sym_difference)) Loading
tests/gis_tests/geogapp/tests.py +6 −3 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ class GeographyTest(TestCase): def test06_geography_area(self): "Testing that Area calculations work on geography columns." # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; ref_area = 5439100.95415646 if oracle else 5439084.70637573 ref_area = 5439100.13586914 if oracle else 5439084.70637573 tol = 5 z = Zipcode.objects.area().get(code='77002') self.assertAlmostEqual(z.area.sq_m, ref_area, tol) Loading @@ -113,6 +113,9 @@ class GeographyFunctionTests(TestCase): """ Testing Distance() support on non-point geography fields. """ if oracle: ref_dists = [0, 4899.68, 8081.30, 9115.15] else: ref_dists = [0, 4891.20, 8071.64, 9123.95] htown = City.objects.get(name='Houston') qs = Zipcode.objects.annotate(distance=Distance('poly', htown.point)) Loading @@ -125,7 +128,7 @@ class GeographyFunctionTests(TestCase): Testing that Area calculations work on geography columns. """ # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; ref_area = 5439100.95415646 if oracle else 5439084.70637573 ref_area = 5439100.13587 if oracle else 5439084.70637573 tol = 5 z = Zipcode.objects.annotate(area=Area('poly')).get(code='77002') self.assertAlmostEqual(z.area.sq_m, ref_area, tol)