@skipIf(has_spatialite, 'Skipped test for spatialite backend: missing feature "dwithin"')
    def test_DistanceToPointFilter_filtering(self):
        """
        Checks that the DistancFilter returns only objects within the given distance of the
        given geometry defined by the URL parameters
        """
        self.assertEqual(Location.objects.count(), 0)

        # Filter parameters
        distance = 5000  # meters
        point_inside_ggpark = [-122.49034881591797, 37.76949349270407]
        point_on_golden_gate_bridge = [-122.47894, 37.8199]
        point_on_alcatraz = [-122.4222, 37.82667]
        point_on_treasure_island = [-122.3692, 37.8244]
        point_on_angel_island = [-122.4326, 37.86091]

        url_params = '?dist=%0.4f&point=hello&format=json' % (distance)
        response = self.client.get((self.location_within_distance_of_point_list_url, url_params) % '%s%s')
        self.assertEqual(response.status_code, 400)

        url_params = '?dist=%0.4f&point=%0.4f,%0.4f&format=json' % (distance, point_on_alcatraz[0], point_on_alcatraz[1])

        treasure_island_geojson = """{
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        -122.44640350341795,
                        37.86103094116189
                    ],
                    [
                        -122.44262695312501,
                        37.85506751416839
                    ],
                    [
                        -122.43481636047363,
                        37.853305500228025
                    ],
                    [
                        -122.42975234985352,
                        37.854660899304704
                    ],
                    [
                        -122.41953849792479,
                        37.852627791344894
                    ],
                    [
                        -122.41807937622069,
                        37.853305500228025
                    ],
                    [
                        -122.41868019104004,
                        37.86211514878027
                    ],
                    [
                        -122.42391586303711,
                        37.870584971740065
                    ],
                    [
                        -122.43035316467285,
                        37.8723465726078
                    ],
                    [
                        -122.43515968322752,
                        37.86963639998042
                    ],
                    [
                        -122.43953704833984,
                        37.86882332875222
                    ],
                    [
                        -122.44640350341795,
                        37.86103094116189
                    ]
                ]
            ]
        }"""

        treasure_island_geom = GEOSGeometry(treasure_island_geojson)
        treasure_island = Location()
        treasure_island.name = "Treasure Island"
        treasure_island.geometry = treasure_island_geom
        treasure_island.full_clean()
        treasure_island.save()

        ggpark_geojson = """{
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        -122.5111198425293,
                        37.77125750792944
                    ],
                    [
                        -122.51026153564452,
                        37.76447260365713
                    ],
                    [
                        -122.45309829711913,
                        37.76677954095475
                    ],
                    [
                        -122.45481491088867,
                        37.77424266859531
                    ],
                    [
                        -122.5111198425293,
                        37.77125750792944
                    ]
                ]
            ]
        }"""
        ggpark_geom = GEOSGeometry(ggpark_geojson)
        ggpark = Location()
        ggpark.name = "Golden Gate Park"
        ggpark.geometry = ggpark_geom
        ggpark.save()

        # Make sure we only get back the ones within the distance
        response = self.client.get('%s%s' % (self.location_within_distance_of_point_list_url, url_params))
        self.assertEqual(len(response.data['features']), 1)
        for result in response.data['features']:
            self.assertEqual(result['properties']['name'] in (treasure_island.name), True)

        # Make sure we get back all the ones within the distance
        distance = 7000
        url_params = '?dist=%0.4f&point=%0.4f,%0.4f&format=json' % (distance, point_on_alcatraz[0], point_on_alcatraz[1])
        response = self.client.get('%s%s' % (self.location_within_distance_of_point_list_url, url_params))
        self.assertEqual(len(response.data['features']), 2)
        for result in response.data['features']:
            self.assertEqual(result['properties']['name'] in (ggpark.name, treasure_island.name), True)

        # Make sure we only get back the ones within the distance
        degrees = .05
        url_params = '?dist=%0.4f&point=%0.4f,%0.4f&format=json' % (degrees, point_on_alcatraz[0], point_on_alcatraz[1])
        response = self.client.get(self.location_within_degrees_of_point_list_url + url_params)
        self.assertEqual(len(response.data['features']), 1)
        for result in response.data['features']:
            self.assertEqual(result['properties']['name'] in (treasure_island.name), True)
dataset/ETHPy150Open djangonauts/django-rest-framework-gis/tests/django_restframework_gis_tests/test_filters.py/TestRestFrameworkGisFilters.test_DistanceToPointFilter_filtering/swapped operands of `%`