diff options
| author | Claude Paroz <claude@2xlibre.net> | 2016-04-10 19:55:29 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2016-04-12 21:14:45 +0200 |
| commit | 1ee9c5b4a965aaec7ab230295dcd4b99e330ab03 (patch) | |
| tree | f72844f4e91c31d4c026ff5482a5beaf053d43f2 /tests | |
| parent | 1c30a6473df55c7efff71fd24f46c4b8d1ad5630 (diff) | |
Refs #17635 -- Tested the Cast function in a geography to geometry context
Thanks Tim Graham for the review.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/gis_tests/geogapp/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/gis_tests/geogapp/tests.py b/tests/gis_tests/geogapp/tests.py index c314c93c5d..0711e26bc1 100644 --- a/tests/gis_tests/geogapp/tests.py +++ b/tests/gis_tests/geogapp/tests.py @@ -6,9 +6,12 @@ from __future__ import unicode_literals import os from unittest import skipUnless +from django.contrib.gis.db import models from django.contrib.gis.db.models.functions import Area, Distance from django.contrib.gis.gdal import HAS_GDAL from django.contrib.gis.measure import D +from django.db import connection +from django.db.models.functions import Cast from django.test import TestCase, ignore_warnings, skipUnlessDBFeature from django.utils._os import upath from django.utils.deprecation import RemovedInDjango20Warning @@ -113,6 +116,21 @@ class GeographyTest(TestCase): class GeographyFunctionTests(TestCase): fixtures = ['initial'] + @skipUnlessDBFeature("supports_extent_aggr") + def test_cast_aggregate(self): + """ + Cast a geography to a geometry field for an aggregate function that + expects a geometry input. + """ + if not connection.ops.geography: + self.skipTest("This test needs geography support") + expected = (-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820) + res = City.objects.filter( + name__in=('Houston', 'Dallas') + ).aggregate(extent=models.Extent(Cast('point', models.PointField()))) + for val, exp in zip(res['extent'], expected): + self.assertAlmostEqual(exp, val, 4) + @skipUnlessDBFeature("has_Distance_function", "supports_distance_geodetic") def test_distance_function(self): """ |
