code: def test_split_execution(setup):
      for a in ((1, 1, 1, 2, 2, 3), [1, 1, 1, 2, 2, 3]):
          splits = split(a, (3, 5))
          assert len(splits) == 3
          splits0 = splits[0].execute().fetch()
          np.testing.assert_array_equal(splits0, (1, 1, 1))
          splits1 = splits[1].execute().fetch()
          np.testing.assert_array_equal(splits1, (2, 2))
          splits2 = splits[2].execute().fetch()
          np.testing.assert_array_equal(splits2, (3,))
  
      x = arange(48, chunk_size=3).reshape(2, 3, 8)
      ss = split(x, 4, axis=2)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.split(np.arange(48).reshape(2, 3, 8), 4, axis=2)
      assert len(res) == len(expected)
      [np.testing.assert_equal(r, e) for r, e in zip(res, expected)]
  
      ss = split(x, [3, 5, 6, 10], axis=2)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.split(
          np.arange(48).reshape(2, 3, 8), [3, 5, 6, 10], axis=2
      )
      assert len(res) == len(expected)
      [np.testing.assert_equal(r, e) for r, e in zip(res, expected)]
  
      # hsplit
      x = arange(120, chunk_size=3).reshape(2, 12, 5)
      ss = hsplit(x, 4)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.hsplit(np.arange(120).reshape(2, 12, 5), 4)
      assert len(res) == len(expected)
      [np.testing.assert_equal(r, e) for r, e in zip(res, expected)]
  
      # vsplit
      x = arange(48, chunk_size=3).reshape(8, 3, 2)
      ss = vsplit(x, 4)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.vsplit(np.arange(48).reshape(8, 3, 2), 4)
      assert len(res) == len(expected)
      [np.testing.assert_equal(r, e) for r, e in zip(res, expected)]
  
      # dsplit
      x = arange(48, chunk_size=3).reshape(2, 3, 8)
      ss = dsplit(x, 4)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.dsplit(np.arange(48).reshape(2, 3, 8), 4)
      assert len(res) == len(expected)
      [np.testing.assert_equal(r, e) for r, e in zip(res, expected)]
  
      x_data = sps.random(12, 8, density=0.1)
      x = tensor(x_data, chunk_size=3)
      ss = split(x, 4, axis=0)
  
      res = [i.execute().fetch() for i in ss]
      expected = np.split(x_data.toarray(), 4, axis=0)
      assert len(res) == len(expected)
      [
          np.testing.assert_equal(r.toarray(), e)
          for r, e in zip(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 18 for calling a global function with example usage: test_split_execution(setup) without return types