From 898e623db0fa6b2cf0b187a3db78b675cde111cf Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Mon, 3 Apr 2017 02:06:01 +0500 Subject: Fixed #27573 -- Made Distance on geodetic coordinates return a raw value on MySQL. --- tests/gis_tests/distapp/tests.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/gis_tests/distapp/tests.py b/tests/gis_tests/distapp/tests.py index 31987d9ce8..aafd5f8035 100644 --- a/tests/gis_tests/distapp/tests.py +++ b/tests/gis_tests/distapp/tests.py @@ -5,7 +5,7 @@ from django.contrib.gis.geos import GEOSGeometry, LineString, Point from django.contrib.gis.measure import D # alias for Distance from django.db import connection from django.db.models import F, Q -from django.test import TestCase, skipUnlessDBFeature +from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature from ..utils import no_oracle, oracle, postgis, spatialite from .models import ( @@ -360,6 +360,14 @@ class DistanceFunctionsTests(TestCase): for i, c in enumerate(qs): self.assertAlmostEqual(sphere_distances[i], c.distance.m, tol) + @skipIfDBFeature("supports_distance_geodetic") + @skipUnlessDBFeature("has_Distance_function") + def test_distance_function_raw_result(self): + distance = Interstate.objects.annotate( + d=Distance(Point(0, 0, srid=4326), Point(0, 1, srid=4326)), + ).first().d + self.assertEqual(distance, 1) + @no_oracle # Oracle already handles geographic distance calculation. @skipUnlessDBFeature("has_Distance_function", 'has_Transform_function') def test_distance_transform(self): -- cgit v1.3