code: def test_BadBehavior(self) -> None:
      # Add trial type that already exists
      with self.assertRaises(ValueError):
          self.experiment.add_trial_type("type1", SyntheticRunner())
  
      # Update runner for non-existent trial type
      with self.assertRaises(ValueError):
          self.experiment.update_runner("type3", SyntheticRunner())
  
      # Add metric for trial_type that doesn't exist
      with self.assertRaises(ValueError):
          self.experiment.add_tracking_metric(
              BraninMetric("m2", ["x1", "x2"]), "type3"
          )
  
      # Try to remove metric that doesn't exist
      with self.assertRaises(ValueError):
          self.experiment.remove_tracking_metric("m3")
  
      # Try to change optimization metric to non-primary trial type
      with self.assertRaises(ValueError):
          self.experiment.update_tracking_metric(
              BraninMetric("m1", ["x1", "x2"]), "type2"
          )
  
      # Update metric definition for trial_type that doesn't exist
      with self.assertRaises(ValueError):
          self.experiment.update_tracking_metric(
              BraninMetric("m2", ["x1", "x2"]), "type3"
          )
  
      # Try to get runner for trial_type that's not supported
      batch = self.experiment.new_batch_trial()
      batch._trial_type = "type3"  # Force override trial type
      with self.assertRaises(ValueError):
          self.experiment.runner_for_trial(batch)
  
      # Try making trial with unsupported trial type
      with self.assertRaises(ValueError):
          self.experiment.new_batch_trial(trial_type="type3")
  
      # Try resetting runners.
      with self.assertRaises(NotImplementedError):
          self.experiment.reset_runners(SyntheticRunner())
  
file_path: Ax/ax/core/tests/test_multi_type_experiment.py
imports: from ax.metrics.branin import BraninMetric
  from ax.runners.synthetic import SyntheticRunner
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.core_stubs import get_branin_arms, get_multi_type_experiment
label_desc: Use image node_id 5 for calling the MultiTypeExperimentTest obj's underlying member method code with example usage: obj.test_BadBehavior() without return types