code: def test_mbm_acquisition(self) -> None:
      method = get_sobol_botorch_modular_acquisition(
          model_cls=SingleTaskGP,
          acquisition_cls=qKnowledgeGradient,
          scheduler_options=get_sequential_optimization_scheduler_options(),
          distribute_replications=False,
      )
      self.assertEqual(
          method.name, "MBM::SingleTaskGP_qKnowledgeGradient"
      )
      gs = method.generation_strategy
      sobol, kg = gs._steps
      self.assertEqual(kg.model, Models.BOTORCH_MODULAR)
      model_kwargs = not_none(kg.model_kwargs)
      self.assertEqual(
          model_kwargs["botorch_acqf_class"], qKnowledgeGradient
      )
      surrogate_spec = next(
          iter(model_kwargs["surrogate_specs"].values())
      )
      self.assertEqual(
          surrogate_spec.botorch_model_class.__name__,
          "SingleTaskGP",
      )
  
file_path: Ax/ax/benchmark/tests/test_methods.py
imports: import numpy
  from ax.benchmark.benchmark import benchmark_replication
  from ax.benchmark.benchmark_method import get_sequential_optimization_scheduler_options
  from ax.benchmark.methods.modular_botorch import get_sobol_botorch_modular_acquisition
  from ax.benchmark.problems.registry import get_problem
  from ax.modelbridge.registry import Models
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import not_none
  from ax.utils.testing.mock import fast_botorch_optimize
  from botorch.acquisition.analytic import LogExpectedImprovement
  from botorch.acquisition.knowledge_gradient import qKnowledgeGradient
  from botorch.models.gp_regression import SingleTaskGP
label_desc: Use image node_id 1 for calling the TestMethods obj's underlying member method code with example usage: obj.test_mbm_acquisition() without return types