code: def setUp(self) -> None:
      self.parameters = [
          ChoiceParameter("x", ParameterType.FLOAT, values=[0, 1]),
          ChoiceParameter(
              "y", ParameterType.STRING, values=["foo", "bar"]
          ),
          FixedParameter("z", ParameterType.BOOL, value=True),
      ]
      parameter_constraints = []
  
      # pyre-fixme[6]: For 1st param expected `List[Parameter]` but got
      #  `List[Union[ChoiceParameter, FixedParameter]]`.
      self.search_space = SearchSpace(
          self.parameters, parameter_constraints
      )
  
      self.observation_features = [
          ObservationFeatures(
              parameters={"x": 0, "y": "foo", "z": True}
          ),
          ObservationFeatures(
              parameters={"x": 1, "y": "foo", "z": True}
          ),
          ObservationFeatures(
              parameters={"x": 1, "y": "bar", "z": True}
          ),
      ]
      self.observation_data = [
          ObservationData(
              metric_names=["a", "b"],
              means=np.array([1.0, -1.0]),
              covariance=np.array([[1.0, 4.0], [4.0, 6.0]]),
          ),
          ObservationData(
              metric_names=["a", "b"],
              means=np.array([2.0, -2.0]),
              covariance=np.array([[2.0, 5.0], [5.0, 7.0]]),
          ),
          ObservationData(
              metric_names=["a"],
              means=np.array([3.0]),
              covariance=np.array([[3.0]]),
          ),
      ]
      self.observations = [
          Observation(
              features=self.observation_features[i],
              data=self.observation_data[i],
              arm_name=str(i),
          )
          for i in range(3)
      ]
      self.pending_observations = {
          "b": [
              ObservationFeatures(
                  parameters={"x": 0, "y": "foo", "z": True}
              )
          ]
      }
      self.model_gen_options = {"option": "yes"}
  
imports: from unittest import mock
  from unittest.mock import Mock
  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 ComparisonOp, OutcomeConstraint
  from ax.core.parameter import ChoiceParameter, FixedParameter, ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.exceptions.core import UserInputError
  from ax.modelbridge.discrete import _get_parameter_values, DiscreteModelBridge
  from ax.models.discrete_base import DiscreteModel
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 1 for calling the DiscreteModelBridgeTest obj's underlying member method code with example usage: obj.setUp() without return types