docstr: Test that a BenchmarkResult cannot be specified with both an `experiment`
  and an `experiment_storage_id`.
docstr_tok: ["Test","that","a","BenchmarkResult","can","not","be","specified","with","both","an","`","experiment","`","and","an","`","experiment_storage_id","`","."]
code: def test_benchmark_result_invalid_inputs(self) -> None:
      """
      Test that a BenchmarkResult cannot be specified with both an `experiment`
      and an `experiment_storage_id`.
      """
      with self.assertRaisesRegex(
          ValueError, "Cannot specify both an `experiment` "
      ):
          BenchmarkResult(
              name="name",
              seed=0,
              optimization_trace=np.array([]),
              score_trace=np.array([]),
              fit_time=0.0,
              gen_time=0.0,
              experiment=get_experiment(),
              experiment_storage_id="experiment_storage_id",
          )
  
      with self.assertRaisesRegex(
          ValueError,
          "Must provide an `experiment` or `experiment_storage_id`",
      ):
          BenchmarkResult(
              name="name",
              seed=0,
              optimization_trace=np.array([]),
              score_trace=np.array([]),
              fit_time=0.0,
              gen_time=0.0,
          )
  
imports: import tempfile
  import numpy
  from ax.benchmark.benchmark import benchmark_multiple_problems_methods, benchmark_one_method_problem, benchmark_replication
  from ax.benchmark.benchmark_method import BenchmarkMethod, get_sequential_optimization_scheduler_options
  from ax.benchmark.benchmark_problem import SingleObjectiveBenchmarkProblem
  from ax.benchmark.benchmark_result import BenchmarkResult
  from ax.benchmark.methods.modular_botorch import get_sobol_botorch_modular_acquisition
  from ax.benchmark.problems.registry import get_problem
  from ax.modelbridge.modelbridge_utils import extract_search_space_digest
  from ax.service.utils.scheduler_options import SchedulerOptions
  from ax.storage.json_store.load import load_experiment
  from ax.storage.json_store.save import save_experiment
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import not_none
  from ax.utils.testing.benchmark_stubs import get_moo_surrogate, get_multi_objective_benchmark_problem, get_single_objective_benchmark_problem, get_sobol_benchmark_method, get_soo_surrogate
  from ax.utils.testing.core_stubs import get_dataset, get_experiment
  from ax.utils.testing.mock import fast_botorch_optimize
  from botorch.acquisition.logei import qLogNoisyExpectedImprovement
  from botorch.acquisition.multi_objective.monte_carlo import qNoisyExpectedHypervolumeImprovement
  from botorch.models.fully_bayesian import SaasFullyBayesianSingleTaskGP
  from botorch.models.gp_regression import FixedNoiseGP, SingleTaskGP
  from botorch.test_functions.synthetic import Branin
label_desc: Use image node_id 2 for calling the TestBenchmark obj's underlying member method code with example usage: obj.test_benchmark_result_invalid_inputs() without return types