code: def test_TransformObservationsWithWinsorization(self) -> None:
      self.assertListEqual(
          self.t.percentiles["m1"], [0.0, 1.0, 2.0, 3.0]
      )
      self.assertListEqual(
          self.t.percentiles["m2"], [0.0, 5.0, 25.0, 125.0]
      )
      transformed_obsd_mid = (
          self.t_with_winsorization._transform_observation_data(
              [deepcopy(self.obsd_mid)]
          )[0]
      )
      mean_results = np.array(list(transformed_obsd_mid.means))
      expected = np.array([0.5, 0.75])
      self.assertTrue(
          np.allclose(mean_results, expected),
          msg=f"Unexpected mean Results: {mean_results}. Expected: {expected}.",
      )
      transformed_obsd_extreme = (
          self.t_with_winsorization._transform_observation_data(
              [deepcopy(self.obsd_extreme)]
          )[0]
      )
      mean_results = np.array(list(transformed_obsd_extreme.means))
      expected = np.array([0.0847075, 0.9152924])
      self.assertTrue(
          np.allclose(mean_results, expected),
          msg=f"Unexpected mean Results: {mean_results}. Expected: {expected}.",
      )
  
file_path: Ax/ax/modelbridge/transforms/tests/test_percentile_y_transform.py
imports: from copy import deepcopy
  import numpy
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.exceptions.core import DataRequiredError
  from ax.modelbridge.transforms.percentile_y import PercentileY
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 4 for calling the PercentileYTransformTest obj's underlying member method code with example usage: obj.test_TransformObservationsWithWinsorization() without return types