| 2661 | |
| 2662 | class ReprTests(SimpleTestCase): |
| 2663 | def test_expressions(self): |
| 2664 | self.assertEqual( |
| 2665 | repr(Case(When(a=1))), |
| 2666 | "<Case: CASE WHEN <Q: (AND: ('a', 1))> THEN Value(None), ELSE Value(None)>", |
| 2667 | ) |
| 2668 | self.assertEqual( |
| 2669 | repr(When(Q(age__gte=18), then=Value("legal"))), |
| 2670 | "<When: WHEN <Q: (AND: ('age__gte', 18))> THEN Value('legal')>", |
| 2671 | ) |
| 2672 | self.assertEqual(repr(Col("alias", "field")), "Col(alias, field)") |
| 2673 | self.assertEqual( |
| 2674 | repr(ColPairs("alias", ["t1", "t2"], ["s1", "s2"], "f")), |
| 2675 | "ColPairs('alias', ['t1', 't2'], ['s1', 's2'], 'f')", |
| 2676 | ) |
| 2677 | self.assertEqual(repr(F("published")), "F(published)") |
| 2678 | self.assertEqual( |
| 2679 | repr(F("cost") + F("tax")), "<CombinedExpression: F(cost) + F(tax)>" |
| 2680 | ) |
| 2681 | self.assertEqual( |
| 2682 | repr(ExpressionWrapper(F("cost") + F("tax"), IntegerField())), |
| 2683 | "ExpressionWrapper(F(cost) + F(tax))", |
| 2684 | ) |
| 2685 | self.assertEqual( |
| 2686 | repr(Func("published", function="TO_CHAR")), |
| 2687 | "Func(F(published), function=TO_CHAR)", |
| 2688 | ) |
| 2689 | self.assertEqual( |
| 2690 | repr(F("published")[0:2]), "Sliced(F(published), slice(0, 2, None))" |
| 2691 | ) |
| 2692 | self.assertEqual( |
| 2693 | repr(OuterRef("name")[1:5]), "Sliced(OuterRef(name), slice(1, 5, None))" |
| 2694 | ) |
| 2695 | self.assertEqual(repr(OrderBy(Value(1))), "OrderBy(Value(1), descending=False)") |
| 2696 | self.assertEqual(repr(RawSQL("table.col", [])), "RawSQL(table.col, [])") |
| 2697 | self.assertEqual( |
| 2698 | repr(Ref("sum_cost", Sum("cost"))), "Ref(sum_cost, Sum(F(cost)))" |
| 2699 | ) |
| 2700 | self.assertEqual(repr(Value(1)), "Value(1)") |
| 2701 | self.assertEqual( |
| 2702 | repr(ExpressionList(F("col"), F("anothercol"))), |
| 2703 | "ExpressionList(F(col), F(anothercol))", |
| 2704 | ) |
| 2705 | self.assertEqual( |
| 2706 | repr(ExpressionList(OrderBy(F("col"), descending=False))), |
| 2707 | "ExpressionList(OrderBy(F(col), descending=False))", |
| 2708 | ) |
| 2709 | |
| 2710 | def test_functions(self): |
| 2711 | self.assertEqual(repr(Coalesce("a", "b")), "Coalesce(F(a), F(b))") |