code: def test_async_reader_error():
      pipeline = mock.Mock()
      features = {
          "num1": {"name": "num1", "type": "number"},
          "bin1": {"name": "bin1", "type": "binary"},
      }
      training_set_metadata = {
          "num1": {},
          "bin1": {},
      }
  
      with pytest.raises(
          TypeError, match="'Mock' object is not iterable"
      ):
          RayDatasetBatcher(
              dataset_epoch_iterator=iter([pipeline]),
              features=features,
              training_set_metadata=training_set_metadata,
              batch_size=64,
              samples_per_epoch=100,
              ignore_last=False,
          )
  
file_path: ludwig/tests/ludwig/data/test_ray_data.py
imports: import os
  import shutil
  from unittest import mock
  import pandas
  import pytest
  from ludwig.data.dataset.ray import RayDatasetBatcher, read_remote_parquet
label_desc: Use image node_id 1 for calling a global function with example usage: test_async_reader_error() without return types