def METHOD_NAME(
    self,
    max_data_shape=None,
    buffer_gb=None,
    buffer_shape=None,
    chunk_mb=None,
    chunk_shape=None,
    case_name="",
):
    """Test that the iterator returns the expected data given different buffer and chunk shapes."""
    if max_data_shape is None:
        imaging_extractor = self.imaging_extractor
    else:
        imaging_extractor = generate_dummy_imaging_extractor(
            num_frames=max_data_shape[0],
            num_columns=max_data_shape[1],
            num_rows=max_data_shape[2],
        )
    dci = ImagingExtractorDataChunkIterator(
        imaging_extractor=imaging_extractor,
        buffer_gb=buffer_gb,
        buffer_shape=buffer_shape,
        chunk_mb=chunk_mb,
        chunk_shape=chunk_shape,
    )
    if buffer_gb is not None:
        assert ((np.prod(dci.buffer_shape) * self.imaging_extractor.get_dtype().itemsize) / 1e9) <= buffer_gb
    data_chunks = np.zeros(dci.maxshape)
    for data_chunk in dci:
        data_chunks[data_chunk.selection] = data_chunk.data
    expected_frames = imaging_extractor.get_video().transpose((0, 2, 1))
    assert_array_equal(data_chunks, expected_frames)