code: def test_to_table_with_all_conversions():
      df = pd.DataFrame(
          {
              "a": [1, 2, 3],
              "b": ["One", "One", "Two"],
              "c": [Decimal("3.12"), Decimal("4.9"), Decimal("6")],
              "d": ["A", "B", 3],
          }
      )
      df["b"] = df["b"].astype("category")
  
      # Check initial pandas column types
      assert isinstance(df["b"].dtype, pd.CategoricalDtype)
      assert df["c"].dtype.kind == "O"
      assert df["d"].dtype.kind == "O"
  
      # Convert to pyarrow table
      pa_table = to_arrow_table(df)
  
      # Check pyarrow types
      assert pa_table.column("b").type == pa.string()
      assert pa_table.column("c").type == pa.float64()
      assert pa_table.column("d").type == pa.string()
  
file_path: vegafusion/python/vegafusion/tests/test_transformer.py
imports: import pandas
  import pyarrow
  from decimal import Decimal
  from vegafusion.transformer import to_arrow_table
label_desc: Use image node_id 4 for calling a global function with example usage: test_to_table_with_all_conversions() without return types