code: def test_variable_param():
      data = pd.DataFrame([{"a": "A", "b": 28}])
  
      rad_slider = alt.binding_range(min=0, max=20, step=1)
      rad_var = alt.param(bind=rad_slider, value=0, name="paramName")
  
      c = (
          alt.Chart(data)
          .mark_bar(cornerRadius=rad_var)
          .encode(
              x="a:N",
              y="b:Q",
          )
          .add_params(rad_var)
      )
  
      dct = c.to_dict()
  
      mark_dict = {"type": "bar", "cornerRadius": {"expr": "paramName"}}
      param_list = [
          {
              "name": "paramName",
              "bind": {
                  "input": "range",
                  "max": 20,
                  "min": 0,
                  "step": 1,
              },
              "value": 0,
          }
      ]
  
      assert dct["mark"] == mark_dict
      assert dct["params"] == param_list
  
file_path: altair/tests/vegalite/v5/test_params.py
imports: import pandas
  import warnings
  import pytest
  import re
  import altair.vegalite.v5
label_desc: Use image node_id 1 for calling a global function with example usage: test_variable_param() without return types