code: def _test_NDArrayIter_csr(
      csr_iter, csr_iter_empty_list, csr_iter_None, num_rows, batch_size
  ):
      num_batch = 0
      for _, batch_empty_list, batch_empty_None in zip(
          csr_iter, csr_iter_empty_list, csr_iter_None
      ):
          assert not batch_empty_list.label, "label is not empty list"
          assert not batch_empty_None.label, "label is not empty list"
          num_batch += 1
  
      assert num_batch == num_rows // batch_size
      assertRaises(StopIteration, csr_iter.next)
      assertRaises(StopIteration, csr_iter_empty_list.next)
      assertRaises(StopIteration, csr_iter_None.next)
  
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 12 for calling a global function with example usage: _test_NDArrayIter_csr(csr_iter, csr_iter_empty_list, csr_iter_None, num_rows, batch_size) without return types