[1.8.x] Fixed #26147 -- Relaxed expected values in GIS tests to account for database/library differences.
Backport of 5aa53286758fbb1fb864a5efda38718a2ca96759 from master
This commit is contained in:
parent
a0e0b37dae
commit
99cd139a30
@ -142,7 +142,7 @@ class DistanceTest(TestCase):
|
||||
"""
|
||||
Test the `distance` GeoQuerySet method on geodetic coordinate systems.
|
||||
"""
|
||||
tol = 2 if oracle else 5
|
||||
tol = 2 if oracle else 4
|
||||
|
||||
# Testing geodetic distance calculation with a non-point geometry
|
||||
# (a LineString of Wollongong and Shellharbour coords).
|
||||
|
@ -12,7 +12,7 @@ from django.contrib.gis.measure import D
|
||||
from django.test import TestCase, skipUnlessDBFeature
|
||||
from django.utils._os import upath
|
||||
|
||||
from ..utils import oracle, postgis
|
||||
from ..utils import postgis
|
||||
|
||||
if HAS_GEOS:
|
||||
from .models import City, County, Zipcode
|
||||
@ -97,7 +97,9 @@ 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
|
||||
tol = 5
|
||||
z = Zipcode.objects.area().get(code='77002')
|
||||
self.assertAlmostEqual(z.area.sq_m, ref_area, tol)
|
||||
# Round to the nearest thousand as possible values (depending on
|
||||
# the database and geolib) include 5439084, 5439100, 5439101.
|
||||
rounded_value = z.area.sq_m
|
||||
rounded_value -= z.area.sq_m % 1000
|
||||
self.assertEqual(rounded_value, 5439000)
|
||||
|
Loading…
x
Reference in New Issue
Block a user