def test_as_comparison_many_argument(self): fn = func.some_comparison("x", "y", "z", "p", "q", "r").as_comparison( 2, 5 ) is_(fn.type._type_affinity, Boolean) self.assert_compile( fn.left, ":some_comparison_1", checkparams={"some_comparison_1": "y"}, ) self.assert_compile( fn.right, ":some_comparison_1", checkparams={"some_comparison_1": "q"}, ) from sqlalchemy.sql import visitors fn_2 = visitors.cloned_traverse(fn, {}, {}) fn_2.right = literal_column("ABC") self.assert_compile( fn, "some_comparison(:some_comparison_1, :some_comparison_2, " ":some_comparison_3, " ":some_comparison_4, :some_comparison_5, :some_comparison_6)", checkparams={ "some_comparison_1": "x", "some_comparison_2": "y", "some_comparison_3": "z", "some_comparison_4": "p", "some_comparison_5": "q", "some_comparison_6": "r", }, ) self.assert_compile( fn_2, "some_comparison(:some_comparison_1, :some_comparison_2, " ":some_comparison_3, " ":some_comparison_4, ABC, :some_comparison_5)", checkparams={ "some_comparison_1": "x", "some_comparison_2": "y", "some_comparison_3": "z", "some_comparison_4": "p", "some_comparison_5": "r", }, )