Commit 5aa53286 authored by Tim Graham's avatar Tim Graham
Browse files

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

parent e73fb2c9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -149,7 +149,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).
@@ -560,7 +560,7 @@ class DistanceFunctionsTests(TestCase):

    @skipUnlessDBFeature("has_Distance_function", "supports_distance_geodetic")
    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:
        #  SELECT ST_distance_spheroid(point, ST_GeomFromText('POINT(151.231341 -33.952685)', 4326),
+10 −6
Original line number Diff line number Diff line
@@ -98,10 +98,12 @@ 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.13586914 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)


@skipUnlessDBFeature("gis_enabled")
@@ -128,7 +130,9 @@ class GeographyFunctionTests(TestCase):
        Testing that Area calculations work on geography columns.
        """
        # 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')
        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)