code: def test_TransformObservations(self) -> None:
      std_m2_a = sqrt(2) * 3
      obsd1_ta = ObservationData(
          metric_names=["m1", "m2", "m2"],
          means=np.array([0.0, -3.0 / std_m2_a, 3.0 / std_m2_a]),
          covariance=np.array(
              [
                  [1.0, 0.2 / std_m2_a, 0.4 / std_m2_a],
                  [0.2 / std_m2_a, 2.0 / 18, 0.8 / 18],
                  [0.4 / std_m2_a, 0.8 / 18, 3.0 / 18],
              ]
          ),
      )
      std_m1_b, std_m2_b = 2 * sqrt(2), sqrt(1 / 2)
      obsd1_tb = ObservationData(
          metric_names=["m1", "m2", "m2"],
          means=np.array(
              [-2.0 / std_m1_b, 0.5 / std_m2_b, 6.5 / std_m2_b]
          ),
          covariance=np.array(
              [
                  [1.0 / 8, 0.2 / 2, 0.4 / 2],
                  [0.2 / 2, 2.0 * 2, 0.8 * 2],
                  [0.4 / 2, 0.8 * 2, 3.0 * 2],
              ]
          ),
      )
      obsd2 = deepcopy(self.obsd1)
      obsd2 = self.t.transform_observations(
          [
              Observation(
                  data=obsd2, features=ObservationFeatures({"z": "a"})
              )
          ]
      )[0].data
      self.assertTrue(osd_allclose(obsd2, obsd1_ta))
      obsd2 = self.t.untransform_observations(
          [
              Observation(
                  data=obsd2, features=ObservationFeatures({"z": "a"})
              )
          ]
      )[0].data
      self.assertTrue(osd_allclose(obsd2, self.obsd1))
      obsd2 = deepcopy(self.obsd1)
      obsd2 = self.t.transform_observations(
          [
              Observation(
                  data=obsd2, features=ObservationFeatures({"z": "b"})
              )
          ]
      )[0].data
      self.assertTrue(osd_allclose(obsd2, obsd1_tb))
      obsd2 = self.t.untransform_observations(
          [
              Observation(
                  data=obsd2, features=ObservationFeatures({"z": "b"})
              )
          ]
      )[0].data
      self.assertTrue(osd_allclose(obsd2, self.obsd1))
  
imports: from copy import deepcopy
  from math import sqrt
  import numpy
  from ax.core.metric import Metric
  from ax.core.objective import Objective
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.core.optimization_config import OptimizationConfig
  from ax.core.outcome_constraint import OutcomeConstraint
  from ax.core.parameter import ChoiceParameter, ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.core.types import ComparisonOp
  from ax.modelbridge.transforms.stratified_standardize_y import StratifiedStandardizeY
  from ax.modelbridge.transforms.tests.test_standardize_y_transform import osd_allclose
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 3 for calling the StratifiedStandardizeYTransformTest obj's underlying member method code with example usage: obj.test_TransformObservations() without return types