summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-01-03 07:13:12 +0100
committerTim Graham <timograham@gmail.com>2017-01-03 12:41:44 -0500
commitfd2f7e47671239dcff98cfb922221ab170aa6461 (patch)
tree51ffcbfb2fd6f49fb5c902e9070744a3a48be343 /tests
parent27267afc4137142e4f0b36c83cec861ee6924186 (diff)
Fixed #27681 -- Fixed binary &/| operators for negative values on MySQL.
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions/tests.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py
index 120bf81d1a..ff9f7278c5 100644
--- a/tests/expressions/tests.py
+++ b/tests/expressions/tests.py
@@ -693,8 +693,10 @@ class ExpressionsNumericTests(TestCase):
class ExpressionOperatorTests(TestCase):
- def setUp(self):
- self.n = Number.objects.create(integer=42, float=15.5)
+ @classmethod
+ def setUpTestData(cls):
+ cls.n = Number.objects.create(integer=42, float=15.5)
+ cls.n1 = Number.objects.create(integer=-42, float=-15.5)
def test_lefthand_addition(self):
# LH Addition of floats and integers
@@ -737,15 +739,18 @@ class ExpressionOperatorTests(TestCase):
def test_lefthand_bitwise_and(self):
# LH Bitwise ands on integers
Number.objects.filter(pk=self.n.pk).update(integer=F('integer').bitand(56))
+ Number.objects.filter(pk=self.n1.pk).update(integer=F('integer').bitand(-56))
self.assertEqual(Number.objects.get(pk=self.n.pk).integer, 40)
+ self.assertEqual(Number.objects.get(pk=self.n1.pk).integer, -64)
self.assertEqual(Number.objects.get(pk=self.n.pk).float, Approximate(15.500, places=3))
def test_lefthand_bitwise_or(self):
# LH Bitwise or on integers
- Number.objects.filter(pk=self.n.pk).update(integer=F('integer').bitor(48))
+ Number.objects.update(integer=F('integer').bitor(48))
self.assertEqual(Number.objects.get(pk=self.n.pk).integer, 58)
+ self.assertEqual(Number.objects.get(pk=self.n1.pk).integer, -10)
self.assertEqual(Number.objects.get(pk=self.n.pk).float, Approximate(15.500, places=3))
def test_lefthand_power(self):