code: def test_inference_data_warmup(self, data, eight_schools_params):
      inference_data_true_is_true = (
          self.get_inference_data_warmup_true_is_true(
              data, eight_schools_params
          )
      )
      inference_data_false_is_true = (
          self.get_inference_data_warmup_false_is_true(
              data, eight_schools_params
          )
      )
      inference_data_true_is_false = (
          self.get_inference_data_warmup_true_is_false(
              data, eight_schools_params
          )
      )
      inference_data_false_is_false = self.get_inference_data(
          data, eight_schools_params
      )
      # inference_data warmup
      test_dict = {
          "posterior": ["theta"],
          "predictions": ["y_hat"],
          "observed_data": ["y"],
          "constant_data": ["y"],
          "predictions_constant_data": ["y"],
          "log_likelihood": ["log_lik"],
          "prior": ["theta"],
          "warmup_posterior": ["theta"],
          "warmup_predictions": ["y_hat"],
          "warmup_log_likelihood": ["log_lik"],
          "warmup_prior": ["theta"],
      }
      fails = check_multiple_attrs(
          test_dict, inference_data_true_is_true
      )
      assert not fails
      # inference_data no warmup
      test_dict = {
          "posterior": ["theta"],
          "predictions": ["y_hat"],
          "observed_data": ["y"],
          "constant_data": ["y"],
          "predictions_constant_data": ["y"],
          "log_likelihood": ["log_lik"],
          "prior": ["theta"],
          "~warmup_posterior": [""],
          "~warmup_predictions": [""],
          "~warmup_log_likelihood": [""],
          "~warmup_prior": [""],
      }
      fails = check_multiple_attrs(
          test_dict, inference_data_false_is_true
      )
      assert not fails
      # inference_data no warmup
      test_dict = {
          "posterior": ["theta"],
          "predictions": ["y_hat"],
          "observed_data": ["y"],
          "constant_data": ["y"],
          "predictions_constant_data": ["y"],
          "log_likelihood": ["log_lik"],
          "prior": ["theta"],
          "~warmup_posterior": [""],
          "~warmup_predictions": [""],
          "~warmup_log_likelihood": [""],
          "~warmup_prior": [""],
      }
      fails = check_multiple_attrs(
          test_dict, inference_data_true_is_false
      )
      assert not fails
      # inference_data no warmup
      test_dict = {
          "posterior": ["theta"],
          "predictions": ["y_hat"],
          "observed_data": ["y"],
          "constant_data": ["y"],
          "predictions_constant_data": ["y"],
          "log_likelihood": ["y"],
          "prior": ["theta"],
          "~warmup_posterior": [""],
          "~warmup_predictions": [""],
          "~warmup_log_likelihood": [""],
          "~warmup_prior": [""],
      }
      fails = check_multiple_attrs(
          test_dict, inference_data_false_is_false
      )
      assert not fails
  
imports: import os
  import sys
  import tempfile
  from glob import glob
  import numpy
  import pytest
  from ...None import from_cmdstanpy
  from ..helpers import chains, check_multiple_attrs, draws, eight_schools_params, importorskip, load_cached_models, pystan_version
label_desc: Use image node_id 14 for calling the TestDataCmdStanPy obj's underlying member method code with example usage: obj.test_inference_data_warmup(data, eight_schools_params) without return types