code: def test_ediff1d(setup):
      data = np.array([1, 2, 4, 7, 0])
      x = tensor(data, chunk_size=2)
  
      t = ediff1d(x)
  
      res = t.execute().fetch()
      expected = np.ediff1d(data)
      np.testing.assert_equal(res, expected)
  
      to_begin = tensor(-99, chunk_size=2)
      to_end = tensor([88, 99], chunk_size=2)
      t = ediff1d(x, to_begin=to_begin, to_end=to_end)
  
      res = t.execute().fetch()
      expected = np.ediff1d(
          data, to_begin=-99, to_end=np.array([88, 99])
      )
      np.testing.assert_equal(res, expected)
  
      data = [[1, 2, 4], [1, 6, 24]]
  
      t = ediff1d(tensor(data, chunk_size=2))
  
      res = t.execute().fetch()
      expected = np.ediff1d(data)
      np.testing.assert_equal(res, expected)
  
imports: import numpy
  import scipy.sparse
  import pandas
  import pytest
  from ....None import dataframe
  from ....None import tensor
  from ....None import execute, fetch
  from ....tests.core import require_cupy
  from ...datasource import tensor, ones, zeros, arange
  from ..None import copyto, transpose, moveaxis, broadcast_to, broadcast_arrays, where, expand_dims, rollaxis, atleast_1d, atleast_2d, atleast_3d, argwhere, array_split, split, hsplit, vsplit, dsplit, roll, squeeze, diff, ediff1d, flip, flipud, fliplr, repeat, tile, isin, searchsorted, unique, sort, argsort, partition, argpartition, topk, argtopk, trapz, shape, to_gpu, to_cpu, swapaxes
label_desc: Use image node_id 22 for calling a global function with example usage: test_ediff1d(setup) without return types