code: def test_UnwrapObservationData(self) -> None:
      observation_data = [
          get_observation1().data,
          get_observation2().data,
      ]
      f, cov = unwrap_observation_data(observation_data)
      self.assertEqual(f["a"], [2.0, 2.0])
      self.assertEqual(f["b"], [4.0, 1.0])
      self.assertEqual(cov["a"]["a"], [1.0, 2.0])
      self.assertEqual(cov["b"]["b"], [4.0, 5.0])
      self.assertEqual(cov["a"]["b"], [2.0, 3.0])
      self.assertEqual(cov["b"]["a"], [3.0, 4.0])
      # Check that errors if metric mismatch
      od3 = ObservationData(
          metric_names=["a"],
          means=np.array([2.0]),
          covariance=np.array([[4.0]]),
      )
      with self.assertRaises(ValueError):
          unwrap_observation_data(observation_data + [od3])
  
imports: import warnings
  from typing import Any, List
  from unittest import mock
  from unittest.mock import Mock
  import numpy
  from ax.core.arm import Arm
  from ax.core.data import Data
  from ax.core.metric import Metric
  from ax.core.objective import Objective, ScalarizedObjective
  from ax.core.observation import ObservationData, ObservationFeatures
  from ax.core.optimization_config import OptimizationConfig
  from ax.core.parameter import FixedParameter, ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.exceptions.core import UnsupportedError, UserInputError
  from ax.modelbridge.base import clamp_observation_features, gen_arms, GenResults, ModelBridge, unwrap_observation_data
  from ax.modelbridge.registry import Models, Y_trans
  from ax.models.base import Model
  from ax.utils.common.constants import Keys
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_branin_experiment, get_branin_experiment_with_multi_objective, get_experiment, get_experiment_with_repeated_arms, get_non_monolithic_branin_moo_data, get_optimization_config_no_constraints, get_search_space_for_range_value, get_search_space_for_range_values, get_search_space_for_value
  from ax.utils.testing.modeling_stubs import get_experiment_for_value, get_observation1, get_observation1trans, get_observation2, get_observation2trans, get_observation_status_quo0, get_observation_status_quo1, transform_1, transform_2
  from botorch.exceptions.warnings import InputDataWarning
label_desc: Use image node_id 10 for calling the BaseModelBridgeTest obj's underlying member method code with example usage: obj.test_UnwrapObservationData() without return types