code: def test_array_split():
      a = arange(8, chunk_size=2)
  
      splits = array_split(a, 3)
      assert len(splits) == 3
      assert [s.shape[0] for s in splits] == [3, 3, 2]
  
      splits = tile(*splits)
      assert splits[0].nsplits == ((2, 1),)
      assert splits[1].nsplits == ((1, 2),)
      assert splits[2].nsplits == ((2,),)
  
      a = arange(7, chunk_size=2)
  
      splits = array_split(a, 3)
      assert len(splits) == 3
      assert [s.shape[0] for s in splits] == [3, 2, 2]
  
      splits = tile(*splits)
      assert splits[0].nsplits == ((2, 1),)
      assert splits[1].nsplits == ((1, 1),)
      assert splits[2].nsplits == ((1, 1),)
  
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 10 for calling a global function with example usage: test_array_split() without return types