diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-10-24 16:01:17 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-10-24 16:01:17 -0400 |
| commit | d0651ef4b3d27329166f25dfc060db1d86804c30 (patch) | |
| tree | cd05f146fdb4d149cfdde1567479b8e9a07fa02a /test/sql | |
| parent | 800c26e1b7549cc3d0b0e953b9821c411ecc5965 (diff) | |
| download | sqlalchemy-d0651ef4b3d27329166f25dfc060db1d86804c30.tar.gz | |
Added :meth:`.ColumnOperators.notin_`,
:meth:`.ColumnOperators.notlike`,
:meth:`.ColumnOperators.notilike` to :class:`.ColumnOperators`.
[ticket:2580]
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_operators.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/test/sql/test_operators.py b/test/sql/test_operators.py index 48cb40c0a..eb2885658 100644 --- a/test/sql/test_operators.py +++ b/test/sql/test_operators.py @@ -1,4 +1,4 @@ -from sqlalchemy.testing import fixtures, eq_ +from sqlalchemy.testing import fixtures, eq_, is_ from sqlalchemy import testing from sqlalchemy.testing import assert_raises_message from sqlalchemy.sql import column, desc, asc, literal, collate @@ -18,6 +18,10 @@ import datetime from sqlalchemy import text, literal_column +class LoopOperate(operators.ColumnOperators): + def operate(self, op, *other, **kwargs): + return op + class DefaultColumnComparatorTest(fixtures.TestBase): def _do_scalar_test(self, operator, compare_to): @@ -25,6 +29,7 @@ class DefaultColumnComparatorTest(fixtures.TestBase): assert left.comparator.operate(operator).compare( compare_to(left) ) + self._loop_test(operator) def _do_operate_test(self, operator, right=column('right')): left = column('left') @@ -37,6 +42,15 @@ class DefaultColumnComparatorTest(fixtures.TestBase): BinaryExpression(left, right, operator) ) + self._loop_test(operator, right) + + def _loop_test(self, operator, *arg): + l = LoopOperate() + is_( + operator(l, *arg), + operator + ) + def test_desc(self): self._do_scalar_test(operators.desc_op, desc) @@ -52,6 +66,18 @@ class DefaultColumnComparatorTest(fixtures.TestBase): def test_isnot_null(self): self._do_operate_test(operators.isnot, None) + def test_like(self): + self._do_operate_test(operators.like_op) + + def test_notlike(self): + self._do_operate_test(operators.notlike_op) + + def test_ilike(self): + self._do_operate_test(operators.ilike_op) + + def test_notilike(self): + self._do_operate_test(operators.notilike_op) + def test_is(self): self._do_operate_test(operators.is_) @@ -81,6 +107,20 @@ class DefaultColumnComparatorTest(fixtures.TestBase): operators.in_op ) ) + self._loop_test(operators.in_op, [1, 2, 3]) + + def test_notin(self): + left = column('left') + assert left.comparator.operate(operators.notin_op, [1, 2, 3]).compare( + BinaryExpression( + left, + Grouping(ClauseList( + literal(1), literal(2), literal(3) + )), + operators.notin_op + ) + ) + self._loop_test(operators.notin_op, [1, 2, 3]) def test_collate(self): left = column('left') |
