code: def test_transform_optimization_config_with_relative_constraints(
      self,
  ) -> None:
      for relativize_cls in [Relativize, RelativizeWithConstantControl]:
          relativize = relativize_cls(
              search_space=None,
              observations=[],
              modelbridge=self.model,
          )
          optimization_config = get_branin_optimization_config()
          optimization_config.outcome_constraints = [
              OutcomeConstraint(
                  metric=BraninMetric("b2", ["x2", "x1"]),
                  op=ComparisonOp.GEQ,
                  bound=-200.0,
                  relative=True,
              )
          ]
          new_config = relativize.transform_optimization_config(
              optimization_config=deepcopy(optimization_config),
              modelbridge=None,
              fixed_features=Mock(),
          )
          self.assertEqual(
              new_config.objective, optimization_config.objective
          )
          self.assertEqual(
              new_config.outcome_constraints[0].bound,
              optimization_config.outcome_constraints[0].bound,
          )
          self.assertFalse(new_config.outcome_constraints[0].relative)
          # Untransform the constraints
          cons = relativize.untransform_outcome_constraints(
              outcome_constraints=new_config.outcome_constraints,
              fixed_features=Mock(),
          )
          self.assertEqual(
              cons, optimization_config.outcome_constraints
          )
  
imports: from copy import deepcopy
  from typing import List, Tuple
  from unittest.mock import Mock, patch, PropertyMock
  import numpy
  from ax.core import BatchTrial
  from ax.core.observation import Observation, ObservationData, ObservationFeatures, observations_from_data, recombine_observations
  from ax.core.outcome_constraint import OutcomeConstraint
  from ax.core.types import ComparisonOp
  from ax.metrics.branin import BraninMetric
  from ax.modelbridge import ModelBridge
  from ax.modelbridge.registry import Models
  from ax.modelbridge.transforms.base import Transform
  from ax.modelbridge.transforms.relativize import BaseRelativize, Relativize, RelativizeWithConstantControl
  from ax.models.base import Model
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import checked_cast, not_none
  from ax.utils.stats.statstools import relativize_data
  from ax.utils.testing.core_stubs import get_branin_data_batch, get_branin_experiment, get_branin_multi_objective_optimization_config, get_branin_optimization_config, get_branin_with_multi_task, get_search_space
  from hypothesis import assume, given, settings, strategies
label_desc: Use image node_id 3 for calling the RelativizeDataOptConfigTest obj's underlying member method code with example usage: obj.test_transform_optimization_config_with_relative_constraints() without return types