Kaydet (Commit) 5aa53286 authored tarafından Tim Graham's avatar Tim Graham

Fixed #26147 -- Relaxed expected values in GIS tests to account for database/library differences.

üst e73fb2c9
...@@ -149,7 +149,7 @@ class DistanceTest(TestCase): ...@@ -149,7 +149,7 @@ class DistanceTest(TestCase):
""" """
Test the `distance` GeoQuerySet method on geodetic coordinate systems. 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 # Testing geodetic distance calculation with a non-point geometry
# (a LineString of Wollongong and Shellharbour coords). # (a LineString of Wollongong and Shellharbour coords).
...@@ -560,7 +560,7 @@ class DistanceFunctionsTests(TestCase): ...@@ -560,7 +560,7 @@ class DistanceFunctionsTests(TestCase):
@skipUnlessDBFeature("has_Distance_function", "supports_distance_geodetic") @skipUnlessDBFeature("has_Distance_function", "supports_distance_geodetic")
def test_distance_geodetic_spheroid(self): def test_distance_geodetic_spheroid(self):
tol = 2 if oracle else 5 tol = 2 if oracle else 4
# Got the reference distances using the raw SQL statements: # Got the reference distances using the raw SQL statements:
# SELECT ST_distance_spheroid(point, ST_GeomFromText('POINT(151.231341 -33.952685)', 4326), # SELECT ST_distance_spheroid(point, ST_GeomFromText('POINT(151.231341 -33.952685)', 4326),
......
...@@ -98,10 +98,12 @@ class GeographyTest(TestCase): ...@@ -98,10 +98,12 @@ class GeographyTest(TestCase):
def test06_geography_area(self): def test06_geography_area(self):
"Testing that Area calculations work on geography columns." "Testing that Area calculations work on geography columns."
# SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002';
ref_area = 5439100.13586914 if oracle else 5439084.70637573
tol = 5
z = Zipcode.objects.area().get(code='77002') 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)
@skipUnlessDBFeature("gis_enabled") @skipUnlessDBFeature("gis_enabled")
...@@ -128,7 +130,9 @@ class GeographyFunctionTests(TestCase): ...@@ -128,7 +130,9 @@ class GeographyFunctionTests(TestCase):
Testing that Area calculations work on geography columns. Testing that Area calculations work on geography columns.
""" """
# SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002'; # SELECT ST_Area(poly) FROM geogapp_zipcode WHERE code='77002';
ref_area = 5439100.13587 if oracle else 5439084.70637573
tol = 5
z = Zipcode.objects.annotate(area=Area('poly')).get(code='77002') z = Zipcode.objects.annotate(area=Area('poly')).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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment