MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_order_by_nulls

Method test_order_by_nulls

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

478
479 @testing.requires.nullsordering
480 def test_order_by_nulls(self, connection):
481 """Exercises ORDER BY clause generation.
482
483 Tests simple, compound, aliased and DESC clauses.
484 """
485
486 users = self.tables.users
487
488 connection.execute(users.insert(), dict(user_id=1))
489 connection.execute(users.insert(), dict(user_id=2, user_name="b"))
490 connection.execute(users.insert(), dict(user_id=3, user_name="a"))
491
492 def a_eq(executable, wanted):
493 got = list(connection.execute(executable))
494 eq_(got, wanted)
495
496 for labels in False, True:
497 label_style = (
498 LABEL_STYLE_NONE
499 if labels is False
500 else LABEL_STYLE_TABLENAME_PLUS_COL
501 )
502 a_eq(
503 users.select()
504 .order_by(users.c.user_name.nulls_first())
505 .set_label_style(label_style),
506 [(1, None), (3, "a"), (2, "b")],
507 )
508
509 a_eq(
510 users.select()
511 .order_by(users.c.user_name.nulls_last())
512 .set_label_style(label_style),
513 [(3, "a"), (2, "b"), (1, None)],
514 )
515
516 a_eq(
517 users.select()
518 .order_by(asc(users.c.user_name).nulls_first())
519 .set_label_style(label_style),
520 [(1, None), (3, "a"), (2, "b")],
521 )
522
523 a_eq(
524 users.select()
525 .order_by(asc(users.c.user_name).nulls_last())
526 .set_label_style(label_style),
527 [(3, "a"), (2, "b"), (1, None)],
528 )
529
530 a_eq(
531 users.select()
532 .order_by(users.c.user_name.desc().nulls_first())
533 .set_label_style(label_style),
534 [(1, None), (2, "b"), (3, "a")],
535 )
536
537 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