diff options
| author | Jason Kirtland <jek@discorporate.us> | 2007-10-11 22:21:33 +0000 |
|---|---|---|
| committer | Jason Kirtland <jek@discorporate.us> | 2007-10-11 22:21:33 +0000 |
| commit | d174b3bd7212c7cb98671a4dff88325e68cbfb89 (patch) | |
| tree | 82d825237c5b6486f2740c0934a94ecf801c6110 /test/sql/query.py | |
| parent | c1a8db67917ad8a9e467afcc01a36cb821834b88 (diff) | |
| download | sqlalchemy-d174b3bd7212c7cb98671a4dff88325e68cbfb89.tar.gz | |
Added query coverage for ORDER BY over regular, aliased and DISTINCT columns.
Diffstat (limited to 'test/sql/query.py')
| -rw-r--r-- | test/sql/query.py | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/test/sql/query.py b/test/sql/query.py index 78d2990ed..470d11a29 100644 --- a/test/sql/query.py +++ b/test/sql/query.py @@ -271,7 +271,43 @@ class QueryTest(PersistTest): assert isinstance(s2.execute().fetchone()['somelabel'], datetime.datetime) finally: datetable.drop() - + + def test_order_by(self): + users.insert().execute(user_id=1, user_name='c') + users.insert().execute(user_id=2, user_name='b') + users.insert().execute(user_id=3, user_name='a') + + def a_eq(executable, wanted): + got = list(executable.execute()) + self.assertEquals(got, wanted) + + a_eq(users.select(order_by=[users.c.user_id]), + [(1, 'c'), (2, 'b'), (3, 'a')]) + + a_eq(users.select(order_by=[users.c.user_name, users.c.user_id]), + [(3, 'a'), (2, 'b'), (1, 'c')]) + + a_eq(select([users.c.user_id.label('foo')], order_by=[users.c.user_id]), + [(1,), (2,), (3,)]) + + a_eq(select([users.c.user_id.label('foo'), users.c.user_name], + order_by=[users.c.user_name, users.c.user_id]), + [(3, 'a'), (2, 'b'), (1, 'c')]) + + a_eq(users.select(distinct=True, order_by=[users.c.user_id]), + [(1, 'c'), (2, 'b'), (3, 'a')]) + + a_eq(select([users.c.user_id.label('foo')], + distinct=True, + order_by=[users.c.user_id]), + [(1,), (2,), (3,)]) + + a_eq(select([users.c.user_id.label('a'), + users.c.user_id.label('b'), + users.c.user_name], + order_by=[users.c.user_id]), + [(1, 1, 'c'), (2, 2, 'b'), (3, 3, 'a')]) + def test_column_accessor(self): users.insert().execute(user_id=1, user_name='john') users.insert().execute(user_id=2, user_name='jack') |
