code: def _test_shuffle(data, labels=None):
      dataiter = mx.io.NDArrayIter(data, labels, 1, False)
      batch_list = []
      for batch in dataiter:
          # cache the original data
          batch_list.append(batch.data[0].asnumpy())
      dataiter = mx.io.NDArrayIter(data, labels, 1, True)
      idx_list = dataiter.idx
      i = 0
      for batch in dataiter:
          # check if each data point have been shuffled to corresponding positions
          assert np.array_equal(
              batch.data[0].asnumpy(), batch_list[idx_list[i]]
          )
          i += 1
  
imports: import mxnet
  import mxnet.ndarray
  from mxnet.test_utils import *
  from mxnet.base import MXNetError
  import numpy
  import os
  import gzip
  import pickle
  import time
  import sys
  from common import assertRaises
  import pytest
  from itertools import zip_longest
label_desc: Use image node_id 8 for calling a global function with example usage: _test_shuffle(data, labels) without return types