code: def test_RoundingWithConstrainedIntRanges(self) -> None:
      parameters = [
          RangeParameter(
              "x", lower=1, upper=3, parameter_type=ParameterType.INT
          ),
          RangeParameter(
              "y", lower=1, upper=3, parameter_type=ParameterType.INT
          ),
      ]
      constrained_int_search_space = SearchSpace(
          # pyre-fixme[6]: For 1st param expected `List[Parameter]` but got
          #  `List[RangeParameter]`.
          parameters=parameters,
          parameter_constraints=[
              # pyre-fixme[6]: For 1st param expected `List[Parameter]` but got
              #  `List[RangeParameter]`.
              SumConstraint(
                  parameters=parameters, is_upper_bound=True, bound=5
              )
          ],
      )
      t = IntToFloat(
          search_space=constrained_int_search_space,
          observations=[],
      )
      self.assertEqual(t.rounding, "randomized")
      observation_features = [
          ObservationFeatures(parameters={"x": 2.6, "y": 2.6})
      ]
      self.assertTrue(
          constrained_int_search_space.check_membership(
              t.untransform_observation_features(
                  observation_features=observation_features
              )[0].parameters
          )
      )
  
      # test empty parameters
      observation_features = [ObservationFeatures(parameters={})]
      untransformed_t = t.untransform_observation_features(
          observation_features=observation_features
      )[0].parameters
      self.assertEqual(untransformed_t, {})
      # test wrong number of parameters
      observation_features = [
          ObservationFeatures(
              parameters={
                  "x": 1,
              }
          )
      ]
      msg = (
          "Either all parameters must be provided or no parameters"
          " should be provided, when there are parameter"
          " constraints involving integers."
      )
      with self.assertRaisesRegex(ValueError, msg):
          t.untransform_observation_features(
              observation_features=observation_features
          )
  
imports: from copy import deepcopy
  from unittest import mock
  from ax.core.observation import ObservationFeatures
  from ax.core.parameter import ChoiceParameter, ParameterType, RangeParameter
  from ax.core.parameter_constraint import OrderConstraint, SumConstraint
  from ax.core.search_space import RobustSearchSpace, SearchSpace
  from ax.exceptions.core import UnsupportedError
  from ax.modelbridge.transforms.int_to_float import IntToFloat
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import checked_cast
  from ax.utils.testing.core_stubs import get_robust_search_space
label_desc: Use image node_id 6 for calling the IntToFloatTransformTest obj's underlying member method code with example usage: obj.test_RoundingWithConstrainedIntRanges() without return types