code: def test_searchsorted(side, obj_class, vals_class):
      nelem = 1000
      column_data = gen_rand("float64", nelem)
      column_mask = random_bitmask(nelem)
  
      values_data = gen_rand("float64", nelem)
      values_mask = random_bitmask(nelem)
  
      sr = cudf.Series.from_masked_array(column_data, column_mask)
      vals = cudf.Series.from_masked_array(values_data, values_mask)
  
      sr = sr.sort_values()
  
      # Reference object can be Series, Index, or Column
      if obj_class == "index":
          sr.reset_index(drop=True)
      elif obj_class == "column":
          sr = sr._column
  
      # Values can be Series or Index
      if vals_class == "index":
          vals.reset_index(drop=True)
  
      psr = sr.to_pandas()
      pvals = vals.to_pandas()
  
      expect = psr.searchsorted(pvals, side)
      if obj_class == "column":
          got = sr.searchsorted(vals._column, side)
      else:
          got = sr.searchsorted(vals, side)
  
      assert_eq(expect, cupy.asnumpy(got))
  
file_path: cudf/python/cudf/cudf/tests/test_search.py
imports: import cupy
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.testing._utils import assert_eq, gen_rand, random_bitmask
label_desc: Use image node_id 1 for calling a global function with example usage: test_searchsorted(side, obj_class, vals_class) without return types