예제 #1
0
 def test_zero_to_zero(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=0, stop=0)
     f = NumericRangeFilter()
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__exact=(0, 0))
예제 #2
0
 def test_filtering_endswith(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=None, stop=30)
     f = NumericRangeFilter()
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__endswith=30)
예제 #3
0
 def test_filtering_skipped_with_none_value(self):
     qs = mock.Mock(spec=['filter'])
     f = NumericRangeFilter()
     result = f.filter(qs, None)
     self.assertEqual(qs, result)
예제 #4
0
 def test_field_with_lookup_expr(self):
     qs = mock.Mock()
     value = mock.Mock(start=20, stop=30)
     f = NumericRangeFilter(lookup_expr=('overlap'))
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__overlap=(20, 30))
예제 #5
0
 def test_filtering_lower_field_higher_than_upper_field(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=35, stop=30)
     f = NumericRangeFilter()
     result = f.filter(qs, value)
     self.assertEqual(qs, result)
예제 #6
0
 def test_filtering_exclude(self):
     qs = mock.Mock(spec=['exclude'])
     value = mock.Mock(start=20, stop=30)
     f = NumericRangeFilter(exclude=True)
     f.filter(qs, value)
     qs.exclude.assert_called_once_with(None__exact=(20, 30))
예제 #7
0
 def test_default_field(self):
     f = NumericRangeFilter()
     field = f.field
     self.assertIsInstance(field, RangeField)
예제 #8
0
 def test_filtering(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=20, stop=30)
     f = NumericRangeFilter()
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__exact=(20, 30))
예제 #9
0
 def test_zero_to_zero(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=0, stop=0)
     f = NumericRangeFilter()
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__exact=(0, 0))
예제 #10
0
 def test_field_with_lookup_expr(self):
     qs = mock.Mock()
     value = mock.Mock(start=20, stop=30)
     f = NumericRangeFilter(lookup_expr=('overlap'))
     f.filter(qs, value)
     qs.filter.assert_called_once_with(None__overlap=(20, 30))
예제 #11
0
 def test_filtering_skipped_with_none_value(self):
     qs = mock.Mock(spec=['filter'])
     f = NumericRangeFilter()
     result = f.filter(qs, None)
     self.assertEqual(qs, result)
예제 #12
0
 def test_filtering_exclude(self):
     qs = mock.Mock(spec=['exclude'])
     value = mock.Mock(start=20, stop=30)
     f = NumericRangeFilter(exclude=True)
     f.filter(qs, value)
     qs.exclude.assert_called_once_with(None__exact=(20, 30))
예제 #13
0
 def test_filtering_lower_field_higher_than_upper_field(self):
     qs = mock.Mock(spec=['filter'])
     value = mock.Mock(start=35, stop=30)
     f = NumericRangeFilter()
     result = f.filter(qs, value)
     self.assertEqual(qs, result)