code: def test_split():
      a = arange(9, chunk_size=2)
  
      splits = split(a, 3)
      assert len(splits) == 3
      assert all(s.shape == (3,) for s in splits) is True
  
      splits = tile(*splits)
      assert splits[0].nsplits == ((2, 1),)
      assert splits[1].nsplits == ((1, 2),)
      assert splits[2].nsplits == ((2, 1),)
  
      a = arange(8, chunk_size=2)
  
      splits = split(a, [3, 5, 6, 10])
      assert len(splits) == 5
      assert splits[0].shape == (3,)
      assert splits[1].shape == (2,)
      assert splits[2].shape == (1,)
      assert splits[3].shape == (2,)
      assert splits[4].shape == (0,)
  
      splits = tile(*splits)
      assert splits[0].nsplits == ((2, 1),)
      assert splits[1].nsplits == ((1, 1),)
      assert splits[2].nsplits == ((1,),)
      assert splits[3].nsplits == ((2,),)
      assert splits[4].nsplits == ((0,),)
  
      a = tensor(np.asfortranarray(np.random.rand(9, 10)), chunk_size=4)
      splits = split(a, 3)
      assert splits[0].flags["F_CONTIGUOUS"] is True
      assert splits[0].flags["C_CONTIGUOUS"] is False
      assert splits[1].flags["F_CONTIGUOUS"] is True
      assert splits[0].flags["C_CONTIGUOUS"] is False
      assert splits[2].flags["F_CONTIGUOUS"] is True
      assert splits[0].flags["C_CONTIGUOUS"] is False
  
      for a in ((1, 1, 1, 2, 2, 3), [1, 1, 1, 2, 2, 3]):
          splits = split(a, (3, 5))
          assert len(splits) == 3
  
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 11 for calling a global function with example usage: test_split() without return types