code: def data(self, draws, chains):
      class Data:
          # fake 8-school output
          shapes: Mapping[str, list] = {
              "mu": [],
              "tau": [],
              "eta": [8],
              "theta": [8],
          }
          obj = {
              key: np.random.randn(chains, draws, *shape)
              for key, shape in shapes.items()
          }
  
      return Data
  
file_path: arviz/arviz/tests/base_tests/test_data_zarr.py
imports: import os
  from collections.abc import MutableMapping
  from tempfile import TemporaryDirectory
  from typing import Mapping
  import numpy
  import pytest
  from ...None import InferenceData, from_dict
  from ...None import to_zarr, from_zarr
  from ..helpers import chains, check_multiple_attrs, draws, eight_schools_params, importorskip, running_on_ci
label_desc: Use image node_id 1 for calling the TestDataZarr obj's underlying member method code with example usage: obj.data(draws, chains) and returns: Data