code: def test_make_iterable_validator_length(value, length):
      scalar_validator = _validate_float_or_none
      validate_iterable = make_iterable_validator(
          scalar_validator, length=length
      )
      raise_error = False
      if length is not None and len(value) != length:
          raise_error = "Iterable must be of length"
      if raise_error:
          with pytest.raises(ValueError, match=raise_error):
              validate_iterable(value)
      else:
          value = validate_iterable(value)
          assert np.iterable(value)
  
imports: import os
  import numpy
  import pytest
  from xarray.core.indexing import MemoryCachedArray
  from ...data import datasets, load_arviz_data
  from ...rcparams import _make_validate_choice, _make_validate_choice_regex, _validate_float_or_none, _validate_positive_int_or_none, _validate_probability, make_iterable_validator, rc_context, rc_params, rcParams, read_rcfile
  from ...stats import compare
  from ..helpers import models
label_desc: Use image node_id 18 for calling a global function with example usage: test_make_iterable_validator_length(value, length) without return types