def test_contraint_max_with_exclusive(self): const = search._parse_dict_value( {'MAX': {'VALUE': 5, 'EXCLUSIVE': True}}) self.assertEqual(const, {'__lt': 5}) const = search._parse_dict_value( {'MAX': {'VALUE': 5, 'EXCLUSIVE': False}}) self.assertEqual(const, {'__lte': 5})
def test_boundary_constraint(self): b = Boundary.objects.create(geom=MultiPolygon(make_simple_polygon(0)), name='whatever', category='whatever', sort_order=1) inparams = search._parse_dict_value({'IN_BOUNDARY': b.pk}) self.assertEqual(inparams, {'__within': b.geom})
def test_within_radius(self): const = search._parse_dict_value( {'WITHIN_RADIUS': { "RADIUS": 5, "POINT": { "x": 100, "y": 50}}}) self.assertEqual(const, {'__dwithin': (Point(100, 50), Distance(m=5))})
def test_constraints_min_and_max(self): const = search._parse_dict_value({ 'MIN': 5, 'MAX': { 'VALUE': 9, 'EXCLUSIVE': False } }) self.assertEqual(const, {'__lte': 9, '__gte': 5})
def test_boundary_constraint(self): b = Boundary.objects.create( geom=MultiPolygon(make_simple_polygon(0)), name='whatever', category='whatever', sort_order=1) inparams = search._parse_dict_value({'IN_BOUNDARY': b.pk}) self.assertEqual(inparams, {'__within': b.geom})
def test_constraints_min_and_max(self): const = search._parse_dict_value( {'MIN': 5, 'MAX': {'VALUE': 9, 'EXCLUSIVE': False}}) self.assertEqual(const, {'__lte': 9, '__gte': 5})
def test_constraints_in(self): inparams = search._parse_dict_value({'IN': [1, 2, 3]}) self.assertEqual(inparams, {'__in': [1, 2, 3]})
def test_contraint_max(self): const = search._parse_dict_value({'MAX': 5}) self.assertEqual(const, {'__lte': 5})
def test_contraint_min(self): const = search._parse_dict_value({'MIN': 5}) self.assertEqual(const, {'__gte': 5})
def test_constraints_is(self): # "IS" is a special case in that we don't need to appl # a suffix at all isparams = search._parse_dict_value({'IS': 'what'}) self.assertEqual(isparams, {'': 'what'})
def test_constraints_isnull(self): inparams = search._parse_dict_value({'ISNULL': True}) self.assertEqual(inparams, {'__isnull': True})