code: def test_join_asof_invalid_args() -> None:
      df1 = pl.DataFrame(
          {
              "a": [1, 2, 3],
              "b": [1, 2, 3],
          }
      ).set_sorted("a")
      df2 = pl.DataFrame(
          {
              "a": [1, 2, 3],
              "c": [1, 2, 3],
          }
      ).set_sorted("a")
  
      with pytest.raises(
          TypeError, match="expected `on` to be str or Expr, got 'list'"
      ):
          df1.join_asof(df2, on=["a"])  # type: ignore[arg-type]
      with pytest.raises(
          TypeError,
          match="expected `left_on` to be str or Expr, got 'list'",
      ):
          df1.join_asof(df2, left_on=["a"], right_on="a")  # type: ignore[arg-type]
      with pytest.raises(
          TypeError,
          match="expected `right_on` to be str or Expr, got 'list'",
      ):
          df1.join_asof(df2, left_on="a", right_on=["a"])
  
imports: from datetime import date, datetime, timedelta
  from typing import Any
  import numpy
  import pytest
  import polars
  from polars.testing import assert_frame_equal
label_desc: Use image node_id 21 for calling a global function with example usage: test_join_asof_invalid_args() without return types