Refs #33355 -- Added missing tests for database functions and expression on null values.

This commit is contained in:
Adam Johnson 2021-12-10 09:13:09 +00:00 committed by Mariusz Felisiak
parent 78f062f63e
commit a8fa3e5cd7
7 changed files with 22 additions and 0 deletions

View file

@ -14,9 +14,11 @@ class ATan2Tests(TestCase):
obj = IntegerModel.objects.annotate(
null_atan2_sn=ATan2('small', 'normal'),
null_atan2_nb=ATan2('normal', 'big'),
null_atan2_bn=ATan2('big', 'normal'),
).first()
self.assertIsNone(obj.null_atan2_sn)
self.assertIsNone(obj.null_atan2_nb)
self.assertIsNone(obj.null_atan2_bn)
def test_decimal(self):
DecimalModel.objects.create(n1=Decimal('-9.9'), n2=Decimal('4.6'))

View file

@ -14,9 +14,11 @@ class LogTests(TestCase):
obj = IntegerModel.objects.annotate(
null_log_small=Log('small', 'normal'),
null_log_normal=Log('normal', 'big'),
null_log_big=Log('big', 'normal'),
).first()
self.assertIsNone(obj.null_log_small)
self.assertIsNone(obj.null_log_normal)
self.assertIsNone(obj.null_log_big)
def test_decimal(self):
DecimalModel.objects.create(n1=Decimal('12.9'), n2=Decimal('3.6'))

View file

@ -13,9 +13,11 @@ class PowerTests(TestCase):
obj = IntegerModel.objects.annotate(
null_power_small=Power('small', 'normal'),
null_power_normal=Power('normal', 'big'),
null_power_big=Power('big', 'normal'),
).first()
self.assertIsNone(obj.null_power_small)
self.assertIsNone(obj.null_power_normal)
self.assertIsNone(obj.null_power_big)
def test_decimal(self):
DecimalModel.objects.create(n1=Decimal('1.0'), n2=Decimal('-0.6'))

View file

@ -25,6 +25,8 @@ class PadTests(TestCase):
(RPad('name', 0), ''),
(LPad('name', None), none_value),
(RPad('name', None), none_value),
(LPad(Value(None), 1), none_value),
(RPad(Value(None), 1), none_value),
(LPad('goes_by', 1), none_value),
(RPad('goes_by', 1), none_value),
)

View file

@ -16,6 +16,7 @@ class RepeatTests(TestCase):
(Repeat('name', Length('alias')), 'JohnJohnJohn'),
(Repeat(Value('x'), 3), 'xxx'),
(Repeat('name', None), none_value),
(Repeat(Value(None), 4), none_value),
(Repeat('goes_by', 1), none_value),
)
for function, repeated_text in tests: