Kaydet (Commit) 3f795384 authored tarafından Sergey Fedoseev's avatar Sergey Fedoseev Kaydeden (comit) Tim Graham

Fixed typo in DistanceLookupBase.process_rhs() error message.

üst 196da41e
...@@ -306,7 +306,7 @@ class DistanceLookupBase(GISLookup): ...@@ -306,7 +306,7 @@ class DistanceLookupBase(GISLookup):
if not isinstance(self.rhs, (tuple, list)) or not 2 <= len(self.rhs) <= 4: if not isinstance(self.rhs, (tuple, list)) or not 2 <= len(self.rhs) <= 4:
raise ValueError("2, 3, or 4-element tuple required for '%s' lookup." % self.lookup_name) raise ValueError("2, 3, or 4-element tuple required for '%s' lookup." % self.lookup_name)
elif len(self.rhs) == 4 and not self.rhs[3] == 'spheroid': elif len(self.rhs) == 4 and not self.rhs[3] == 'spheroid':
raise ValueError("For 4-element tuples the last argument must be the 'speroid' directive.") raise ValueError("For 4-element tuples the last argument must be the 'spheroid' directive.")
# Check if the second parameter is a band index. # Check if the second parameter is a band index.
if len(self.rhs) > 2 and not self.rhs[2] == 'spheroid': if len(self.rhs) > 2 and not self.rhs[2] == 'spheroid':
......
...@@ -140,15 +140,17 @@ class DistanceTest(TestCase): ...@@ -140,15 +140,17 @@ class DistanceTest(TestCase):
expected_cities.pop(0) expected_cities.pop(0)
self.assertEqual(expected_cities, self.get_names(dist_qs)) self.assertEqual(expected_cities, self.get_names(dist_qs))
# Too many params (4 in this case) should raise a ValueError. msg = "2, 3, or 4-element tuple required for 'distance_lte' lookup."
queryset = AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4')) with self.assertRaisesMessage(ValueError, msg): # Too many params.
with self.assertRaises(ValueError): len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4', None)))
len(queryset)
# Not enough params should raise a ValueError. with self.assertRaisesMessage(ValueError, msg): # Too few params.
with self.assertRaises(ValueError):
len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)',))) len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)',)))
msg = "For 4-element tuples the last argument must be the 'spheroid' directive."
with self.assertRaisesMessage(ValueError, msg):
len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4')))
# Getting all cities w/in 550 miles of Hobart. # Getting all cities w/in 550 miles of Hobart.
hobart = AustraliaCity.objects.get(name='Hobart') hobart = AustraliaCity.objects.get(name='Hobart')
qs = AustraliaCity.objects.exclude(name='Hobart').filter(point__distance_lte=(hobart.point, D(mi=550))) qs = AustraliaCity.objects.exclude(name='Hobart').filter(point__distance_lte=(hobart.point, D(mi=550)))
......
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