code: def assert_array_list_equal(xlist, ylist, err_msg="", verbose=True):
      """Compares lists of arrays pairwise with ``assert_array_equal``.
  
      Args:
           x(array_like): Array of the actual objects.
           y(array_like): Array of the desired, expected objects.
           err_msg(str): The error message to be printed in case of failure.
           verbose(bool): If ``True``, the conflicting values
               are appended to the error message.
  
      Each element of ``x`` and ``y`` must be either :class:`numpy.ndarray`
      or :class:`cupy.ndarray`. ``x`` and ``y`` must have same length.
      Otherwise, this function raises ``AssertionError``.
      It compares elements of ``x`` and ``y`` pairwise
      with :func:`assert_array_equal` and raises error if at least one
      pair is not equal.
  
      .. seealso:: :func:`numpy.testing.assert_array_equal`
      """
      x_type = type(xlist)
      y_type = type(ylist)
      if x_type is not y_type:
          raise AssertionError(
              "Matching types of list or tuple are expected, "
              "but were different types "
              "(xlist:{} ylist:{})".format(x_type, y_type)
          )
      if x_type not in (list, tuple):
          raise AssertionError(
              "List or tuple is expected, but was {}".format(x_type)
          )
      if len(xlist) != len(ylist):
          raise AssertionError("List size is different")
      for x, y in zip(xlist, ylist):
          numpy.testing.assert_array_equal(
              cupy.asnumpy(x),
              cupy.asnumpy(y),
              err_msg=err_msg,
              verbose=verbose,
          )
  
file_path: cupy/cupy/testing/_array.py
imports: import numpy.testing
  import cupy
label_desc: Use image node_id 6 for calling a global function with example usage: assert_array_list_equal(xlist, ylist, err_msg, verbose) without return types