code: def test_streaming_sort_multiple_columns_logical_types() -> None:
      data = {
          "foo": [3, 2, 1],
          "bar": ["a", "b", "c"],
          "baz": [
              datetime(2023, 5, 1, 15, 45),
              datetime(2023, 5, 1, 13, 45),
              datetime(2023, 5, 1, 14, 45),
          ],
      }
  
      result = (
          pl.LazyFrame(data).sort("foo", "baz").collect(streaming=True)
      )
  
      expected = pl.DataFrame(
          {
              "foo": [1, 2, 3],
              "bar": ["c", "b", "a"],
              "baz": [
                  datetime(2023, 5, 1, 14, 45),
                  datetime(2023, 5, 1, 13, 45),
                  datetime(2023, 5, 1, 15, 45),
              ],
          }
      )
      assert_frame_equal(result, expected)
  
file_path: polars/py-polars/tests/unit/streaming/test_streaming_sort.py
imports: from __future__ import annotations
  from datetime import datetime
  from typing import TYPE_CHECKING, Any
  from collections import Counter
  import numpy
  import pytest
  import polars
  from polars.testing import assert_frame_equal, assert_series_equal
label_desc: Use image node_id 2 for calling a global function with example usage: test_streaming_sort_multiple_columns_logical_types() without return types