code: def setUp(self) -> None:
      self.training_data = [
          Observation(
              features=ObservationFeatures(
                  parameters={"x": 2.0}, trial_index=0
              ),
              data=ObservationData(
                  means=np.array([2.0, 4.0]),
                  covariance=np.array([[1.0, 2.0], [3.0, 4.0]]),
                  metric_names=["a", "b"],
              ),
              arm_name="1_1",
          ),
          Observation(
              features=ObservationFeatures(
                  parameters={"x": 2.0}, trial_index=1
              ),
              data=ObservationData(
                  means=np.array([3.0, 5.0, 6.0]),
                  covariance=np.array(
                      [
                          [1.0, 2.0, 3.0],
                          [3.0, 4.0, 5.0],
                          [6.0, 7.0, 8.0],
                      ]
                  ),
                  metric_names=["a", "b", "a"],
              ),
              arm_name="1_1",
          ),
          Observation(
              features=ObservationFeatures(parameters={"x": 3.0}),
              data=ObservationData(
                  means=np.array([7.0, 8.0]),
                  covariance=np.array([[1.0, 2.0], [3.0, 4.0]]),
                  metric_names=["a", "b"],
              ),
              arm_name="1_2",
          ),
          Observation(
              features=ObservationFeatures(
                  parameters={"x": 4.0}, trial_index=2
              ),
              data=ObservationData(
                  means=np.array([9.0, 10.0]),
                  covariance=np.array([[1.0, 2.0], [3.0, 4.0]]),
                  metric_names=["a", "b"],
              ),
              arm_name="1_3",
          ),
      ]
      self.observation_data = [
          ObservationData(
              means=np.array([2.0, 1.0]),
              covariance=np.array([[1.0, 2.0], [3.0, 4.0]]),
              metric_names=["a", "b"],
          )
      ] * 4
      self.diagnostics: List[CVDiagnostics] = [
          {"Fisher exact test p": {"y_a": 0.0, "y_b": 0.4}},
          {"Fisher exact test p": {"y_a": 0.1, "y_b": 0.1}},
          {"Fisher exact test p": {"y_a": 0.5, "y_b": 0.6}},
      ]
  
imports: from typing import List
  from unittest import mock
  import numpy
  from ax.core.metric import Metric
  from ax.core.objective import MultiObjective, Objective
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.core.optimization_config import MultiObjectiveOptimizationConfig, OptimizationConfig
  from ax.core.outcome_constraint import OutcomeConstraint
  from ax.core.types import ComparisonOp
  from ax.modelbridge.cross_validation import assess_model_fit, compute_diagnostics, cross_validate, cross_validate_by_trial, CVDiagnostics, CVResult, has_good_opt_config_model_fit, SingleDiagnosticBestModelSelector
  from ax.modelbridge.registry import Models
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_branin_experiment
label_desc: Use image node_id 1 for calling the CrossValidationTest obj's underlying member method code with example usage: obj.setUp() without return types