MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_order_by_nulls

Method test_order_by_nulls

test/sql/test_query.py:456–549  ·  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

454
455 @testing.requires.nullsordering
456 def test_order_by_nulls(self, connection):
457 """Exercises ORDER BY clause generation.
458
459 Tests simple, compound, aliased and DESC clauses.
460 """
461
462 users = self.tables.users
463
464 connection.execute(users.insert(), dict(user_id=1))
465 connection.execute(users.insert(), dict(user_id=2, user_name="b"))
466 connection.execute(users.insert(), dict(user_id=3, user_name="a"))
467
468 def a_eq(executable, wanted):
469 got = list(connection.execute(executable))
470 eq_(got, wanted)
471
472 for labels in False, True:
473 label_style = (
474 LABEL_STYLE_NONE
475 if labels is False
476 else LABEL_STYLE_TABLENAME_PLUS_COL
477 )
478 a_eq(
479 users.select()
480 .order_by(users.c.user_name.nulls_first())
481 .set_label_style(label_style),
482 [(1, None), (3, "a"), (2, "b")],
483 )
484
485 a_eq(
486 users.select()
487 .order_by(users.c.user_name.nulls_last())
488 .set_label_style(label_style),
489 [(3, "a"), (2, "b"), (1, None)],
490 )
491
492 a_eq(
493 users.select()
494 .order_by(asc(users.c.user_name).nulls_first())
495 .set_label_style(label_style),
496 [(1, None), (3, "a"), (2, "b")],
497 )
498
499 a_eq(
500 users.select()
501 .order_by(asc(users.c.user_name).nulls_last())
502 .set_label_style(label_style),
503 [(3, "a"), (2, "b"), (1, None)],
504 )
505
506 a_eq(
507 users.select()
508 .order_by(users.c.user_name.desc().nulls_first())
509 .set_label_style(label_style),
510 [(1, None), (2, "b"), (3, "a")],
511 )
512
513 a_eq(

Callers

nothing calls this directly

Calls 10

ascFunction · 0.90
descFunction · 0.90
executeMethod · 0.45
insertMethod · 0.45
set_label_styleMethod · 0.45
order_byMethod · 0.45
selectMethod · 0.45
nulls_firstMethod · 0.45
nulls_lastMethod · 0.45
descMethod · 0.45

Tested by

no test coverage detected