code: def test_clip(pandas, min, max):
      dask = dd.from_pandas(pandas, 3)
      pandas_type = pandas.__class__
      dask_type = dask.__class__
  
      # clip internally calls dd.Series.clip
  
      # applying Dask ufunc doesn't trigger computation
      assert isinstance(da.clip(dask, min, max), dask_type)
      assert_eq(da.clip(dask, min, max), np.clip(pandas, min, max))
  
      # applying Numpy ufunc doesn't trigger computation
      assert isinstance(np.clip(dask, min, max), dask_type)
      assert_eq(np.clip(dask, min, max), np.clip(pandas, min, max))
  
      # applying Dask ufunc to normal pandas objects triggers computation
      assert isinstance(da.clip(pandas, min, max), pandas_type)
      assert_eq(da.clip(pandas, min, max), np.clip(pandas, min, max))
  
file_path: dask/dask/dataframe/tests/test_ufunc.py
imports: from __future__ import annotations
  import warnings
  import pytest
  import numpy
  import dask.array
  import dask.dataframe
  from dask.dataframe.utils import assert_eq
label_desc: Use image node_id 5 for calling a global function with example usage: test_clip(pandas, min, max) without return types