summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMads Jensen <mje@inducks.org>2017-10-09 17:49:19 +0200
committerTim Graham <timograham@gmail.com>2017-10-09 11:49:19 -0400
commit81d5320db56f28514c346edfec42559f5da4b343 (patch)
tree2ea65beb3fe29a272efa95bc7e333e8456970524
parent50de55f39984e0b83ba760192b1ecd10e5737c3d (diff)
Added tests for Combinable's bitwise logical operation errors.
-rw-r--r--tests/expressions/tests.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py
index 706efcbdc3..f941c5521e 100644
--- a/tests/expressions/tests.py
+++ b/tests/expressions/tests.py
@@ -10,8 +10,8 @@ from django.db.models.aggregates import (
Avg, Count, Max, Min, StdDev, Sum, Variance,
)
from django.db.models.expressions import (
- Case, Col, Exists, ExpressionList, ExpressionWrapper, F, Func, OrderBy,
- OuterRef, Random, RawSQL, Ref, Subquery, Value, When,
+ Case, Col, Combinable, Exists, ExpressionList, ExpressionWrapper, F, Func,
+ OrderBy, OuterRef, Random, RawSQL, Ref, Subquery, Value, When,
)
from django.db.models.functions import (
Coalesce, Concat, Length, Lower, Substr, Upper,
@@ -1387,3 +1387,23 @@ class ReprTests(TestCase):
repr(Variance('a', sample=True, filter=filter)),
"Variance(F(a), filter=(AND: ('a', 1)), sample=True)"
)
+
+
+class CombinableTests(SimpleTestCase):
+ bitwise_msg = 'Use .bitand() and .bitor() for bitwise logical operations.'
+
+ def test_and(self):
+ with self.assertRaisesMessage(NotImplementedError, self.bitwise_msg):
+ Combinable() & Combinable()
+
+ def test_or(self):
+ with self.assertRaisesMessage(NotImplementedError, self.bitwise_msg):
+ Combinable() | Combinable()
+
+ def test_reversed_and(self):
+ with self.assertRaisesMessage(NotImplementedError, self.bitwise_msg):
+ object() & Combinable()
+
+ def test_reversed_or(self):
+ with self.assertRaisesMessage(NotImplementedError, self.bitwise_msg):
+ object() | Combinable()