### SUBSTRAIT_SCALAR_TEST: v1.0
### SUBSTRAIT_INCLUDE: extension:io.substrait:functions_list
# asc_nulls_last: Ascending with nulls at end
sort([3, 1, 2]::list<i32>) [direction:ASC_NULLS_LAST] = [1, 2, 3]::list<i32>
sort([3, Null, 1]::list<i32?>) [direction:ASC_NULLS_LAST] = [1, 3, Null]::list<i32?>
sort([Null, 2, Null, 1]::list<i32?>) [direction:ASC_NULLS_LAST] = [1, 2, Null, Null]::list<i32?>
# asc_nulls_first: Ascending with nulls at beginning
sort([3, Null, 1]::list<i32?>) [direction:ASC_NULLS_FIRST] = [Null, 1, 3]::list<i32?>
sort([Null, 2, Null, 1]::list<i32?>) [direction:ASC_NULLS_FIRST] = [Null, Null, 1, 2]::list<i32?>
# desc_nulls_last: Descending with nulls at end
sort([3, 1, 2]::list<i32>) [direction:DESC_NULLS_LAST] = [3, 2, 1]::list<i32>
sort([3, Null, 1]::list<i32?>) [direction:DESC_NULLS_LAST] = [3, 1, Null]::list<i32?>
# desc_nulls_first: Descending with nulls at beginning
sort([3, Null, 1]::list<i32?>) [direction:DESC_NULLS_FIRST] = [Null, 3, 1]::list<i32?>
# empty: Empty list
sort([]::list<i32>) [direction:ASC_NULLS_LAST] = []::list<i32>
# single_element: Single element list
sort([42]::list<i32>) [direction:ASC_NULLS_LAST] = [42]::list<i32>
# strings: String sorting
sort(['c', 'a', 'b']::list<string>) [direction:ASC_NULLS_LAST] = ['a', 'b', 'c']::list<string>
sort(['c', 'a', 'b']::list<string>) [direction:DESC_NULLS_LAST] = ['c', 'b', 'a']::list<string>