docstr: Check input types
  
  posterior --> str, list of str
  prior --> str, list of str
  posterior_predictive --> str, variable in posterior
  observed_data --> Rdump format
  observed_data_var --> str, variable
  log_likelihood --> str
  coords --> one to many
  dims --> one to many
docstr_tok: ["Check","input","types","posterior","--",">","str",",","list","of","str","prior","--",">","str",",","list","of","str","posterior_predictive","--",">","str",",","variable","in","posterior","observed_data","--",">","Rdump","format","observed_data_var","--",">","str",",","variable","log_likelihood","--",">","str","coords","--",">","one","to","many","dims","--",">","one","to","many"]
code: def test_inference_data_input_types1(
      self, paths, observed_data_paths
  ):
      """Check input types
  
      posterior --> str, list of str
      prior --> str, list of str
      posterior_predictive --> str, variable in posterior
      observed_data --> Rdump format
      observed_data_var --> str, variable
      log_likelihood --> str
      coords --> one to many
      dims --> one to many
      """
      for key, path in paths.items():
          if "eight" not in key:
              continue
          inference_data = self.get_inference_data(
              posterior=path,
              posterior_predictive="y_hat",
              predictions="y_hat",
              prior=path,
              prior_predictive="y_hat",
              observed_data=observed_data_paths[0],
              observed_data_var="y",
              constant_data=observed_data_paths[0],
              constant_data_var="y",
              predictions_constant_data=observed_data_paths[0],
              predictions_constant_data_var="y",
              log_likelihood="log_lik",
              coords={"school": np.arange(8)},
              dims={
                  "theta": ["school"],
                  "y": ["school"],
                  "log_lik": ["school"],
                  "y_hat": ["school"],
                  "eta": ["school"],
              },
          )
          test_dict = {
              "posterior": ["mu", "tau", "theta_tilde", "theta"],
              "posterior_predictive": ["y_hat"],
              "predictions": ["y_hat"],
              "prior": ["mu", "tau", "theta_tilde", "theta"],
              "prior_predictive": ["y_hat"],
              "sample_stats": ["diverging"],
              "observed_data": ["y"],
              "constant_data": ["y"],
              "predictions_constant_data": ["y"],
              "log_likelihood": ["log_lik"],
          }
          if "output_warmup" in path:
              test_dict.update(
                  {
                      "warmup_posterior": [
                          "mu",
                          "tau",
                          "theta_tilde",
                          "theta",
                      ]
                  }
              )
          fails = check_multiple_attrs(test_dict, inference_data)
          assert not fails
  
imports: import os
  import numpy
  import pytest
  from ...None import from_cmdstan
  from ..helpers import check_multiple_attrs
label_desc: Use image node_id 7 for calling the TestDataCmdStan obj's underlying member method code with example usage: obj.test_inference_data_input_types1(paths, observed_data_paths) without return types