From 24b9f5082344a127147266dd52d5d2dcd1c9cb44 Mon Sep 17 00:00:00 2001 From: Dulmandakh Date: Wed, 6 Nov 2019 18:22:15 +0800 Subject: Fixed #29916 -- Added lower_inc, lower_inf, upper_inc, and upper_inf lookups for RangeFields. Co-Authored-By: Mariusz Felisiak --- tests/postgres_tests/test_ranges.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests/postgres_tests') diff --git a/tests/postgres_tests/test_ranges.py b/tests/postgres_tests/test_ranges.py index 326015e46d..789ff3d546 100644 --- a/tests/postgres_tests/test_ranges.py +++ b/tests/postgres_tests/test_ranges.py @@ -296,6 +296,30 @@ class TestQuerying(PostgreSQLTestCase): [self.objs[0], self.objs[1]], ) + def test_bound_type(self): + decimals = RangesModel.objects.bulk_create([ + RangesModel(decimals=NumericRange(None, 10)), + RangesModel(decimals=NumericRange(10, None)), + RangesModel(decimals=NumericRange(5, 15)), + RangesModel(decimals=NumericRange(5, 15, '(]')), + ]) + tests = [ + ('lower_inc', True, [decimals[1], decimals[2]]), + ('lower_inc', False, [decimals[0], decimals[3]]), + ('lower_inf', True, [decimals[0]]), + ('lower_inf', False, [decimals[1], decimals[2], decimals[3]]), + ('upper_inc', True, [decimals[3]]), + ('upper_inc', False, [decimals[0], decimals[1], decimals[2]]), + ('upper_inf', True, [decimals[1]]), + ('upper_inf', False, [decimals[0], decimals[2], decimals[3]]), + ] + for lookup, filter_arg, excepted_result in tests: + with self.subTest(lookup=lookup, filter_arg=filter_arg): + self.assertSequenceEqual( + RangesModel.objects.filter(**{'decimals__%s' % lookup: filter_arg}), + excepted_result, + ) + class TestQueryingWithRanges(PostgreSQLTestCase): def test_date_range(self): -- cgit v1.3