code: def test_searchsorted():
      raw = np.sort(np.random.randint(100, size=(16,)))
      arr = tensor(raw, chunk_size=3).cumsum()
  
      t1 = searchsorted(arr, 10)
  
      assert t1.shape == ()
      assert (
          t1.flags["C_CONTIGUOUS"]
          == np.searchsorted(raw.cumsum(), 10).flags["C_CONTIGUOUS"]
      )
      assert (
          t1.flags["F_CONTIGUOUS"]
          == np.searchsorted(raw.cumsum(), 10).flags["F_CONTIGUOUS"]
      )
  
      t1 = tile(t1)
  
      assert t1.nsplits == ()
      assert len(t1.chunks) == 1
      assert t1.chunks[0].op.stage == OperandStage.agg
  
      with pytest.raises(ValueError):
          searchsorted(np.random.randint(10, size=(14, 14)), 1)
  
      with pytest.raises(ValueError):
          searchsorted(arr, 10, side="both")
  
      with pytest.raises(ValueError):
          searchsorted(arr.tosparse(), 10)
  
      raw2 = np.asfortranarray(
          np.sort(np.random.randint(100, size=(16,)))
      )
      arr = tensor(raw2, chunk_size=3)
      to_search = np.asfortranarray([[1, 2], [3, 4]])
  
      t1 = searchsorted(arr, to_search)
      expected = np.searchsorted(raw2, to_search)
  
      assert t1.shape == to_search.shape
      assert t1.flags["C_CONTIGUOUS"] == expected.flags["C_CONTIGUOUS"]
      assert t1.flags["F_CONTIGUOUS"] == expected.flags["F_CONTIGUOUS"]
  
imports: import numpy
  import pytest
  from ....core import tile
  from ....core.operand import OperandStage
  from ...datasource import ones, tensor, arange
  from ..None import transpose, broadcast_to, where, argwhere, array_split, split, squeeze, result_type, repeat, copyto, isin, moveaxis, TensorCopyTo, atleast_1d, atleast_2d, atleast_3d, ravel, searchsorted, unique, sort, partition, topk, to_gpu, to_cpu
label_desc: Use image node_id 18 for calling a global function with example usage: test_searchsorted() without return types