code: def test_TransformObservationsPercentileBounds(self) -> None:
      observation_data = self.t3._transform_observation_data(
          [deepcopy(self.obsd1)]
      )[0]
      self.assertListEqual(
          list(observation_data.means), [0.0, 0.0, 1.0]
      )
      observation_data = self.t3._transform_observation_data(
          [deepcopy(self.obsd2)]
      )[0]
      self.assertListEqual(
          list(observation_data.means), [1.0, 1.0, 1.9, 1.0]
      )
      observation_data = self.t4._transform_observation_data(
          [deepcopy(self.obsd1)]
      )[0]
      self.assertListEqual(
          list(observation_data.means), [1.0, 0.3, 1.0]
      )
      observation_data = self.t4._transform_observation_data(
          [deepcopy(self.obsd2)]
      )[0]
      self.assertListEqual(
          list(observation_data.means), [1.0, 2.0, 2.0, 1.0]
      )
  
file_path: Ax/ax/modelbridge/transforms/tests/test_winsorize_legacy_transform.py
imports: import warnings
  from copy import deepcopy
  import numpy
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.exceptions.core import DataRequiredError
  from ax.modelbridge.transforms.winsorize import Winsorize
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 7 for calling the WinsorizeTransformTestLegacy obj's underlying member method code with example usage: obj.test_TransformObservationsPercentileBounds() without return types