MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_order_by

Method test_order_by

test/sql/test_query.py:350–453  ·  view source on GitHub ↗

Exercises ORDER BY clause generation. Tests simple, compound, aliased and DESC clauses.

(self, connection)

Source from the content-addressed store, hash-verified

348 )
349
350 def test_order_by(self, connection):
351 """Exercises ORDER BY clause generation.
352
353 Tests simple, compound, aliased and DESC clauses.
354 """
355
356 users = self.tables.users
357
358 connection.execute(users.insert(), dict(user_id=1, user_name="c"))
359 connection.execute(users.insert(), dict(user_id=2, user_name="b"))
360 connection.execute(users.insert(), dict(user_id=3, user_name="a"))
361
362 def a_eq(executable, wanted):
363 got = list(connection.execute(executable))
364 eq_(got, wanted)
365
366 for labels in False, True:
367 label_style = (
368 LABEL_STYLE_NONE
369 if labels is False
370 else LABEL_STYLE_TABLENAME_PLUS_COL
371 )
372
373 def go(stmt):
374 if labels:
375 stmt = stmt.set_label_style(label_style)
376 return stmt
377
378 a_eq(
379 users.select()
380 .order_by(users.c.user_id)
381 .set_label_style(label_style),
382 [(1, "c"), (2, "b"), (3, "a")],
383 )
384
385 a_eq(
386 users.select()
387 .order_by(users.c.user_name, users.c.user_id)
388 .set_label_style(label_style),
389 [(3, "a"), (2, "b"), (1, "c")],
390 )
391
392 a_eq(
393 go(
394 select(users.c.user_id.label("foo")).order_by(
395 users.c.user_id
396 )
397 ),
398 [(1,), (2,), (3,)],
399 )
400
401 a_eq(
402 go(
403 select(
404 users.c.user_id.label("foo"), users.c.user_name
405 ).order_by(users.c.user_name, users.c.user_id),
406 ),
407 [(3, "a"), (2, "b"), (1, "c")],

Callers

nothing calls this directly

Calls 11

selectFunction · 0.90
descFunction · 0.90
goFunction · 0.50
executeMethod · 0.45
insertMethod · 0.45
set_label_styleMethod · 0.45
order_byMethod · 0.45
selectMethod · 0.45
labelMethod · 0.45
distinctMethod · 0.45
descMethod · 0.45

Tested by

no test coverage detected