diff options
| author | Mads Jensen <mje@inducks.org> | 2017-10-09 17:49:19 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-10-09 11:49:19 -0400 |
| commit | 81d5320db56f28514c346edfec42559f5da4b343 (patch) | |
| tree | 2ea65beb3fe29a272efa95bc7e333e8456970524 | |
| parent | 50de55f39984e0b83ba760192b1ecd10e5737c3d (diff) | |
Added tests for Combinable's bitwise logical operation errors.
| -rw-r--r-- | tests/expressions/tests.py | 24 |
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() |
