code: def test_surrogates_property(self) -> None:
      self.assertEqual(
          self.surrogate, list(self.model.surrogates.values())[0]
      )
  
imports: import dataclasses
  import warnings
  from contextlib import ExitStack
  from copy import deepcopy
  from typing import Dict, OrderedDict
  from unittest import mock
  from unittest.mock import Mock, patch
  import numpy
  import torch
  from ax.core.search_space import SearchSpaceDigest
  from ax.exceptions.core import AxError, AxWarning, UnsupportedError
  from ax.models.torch.botorch_modular.acquisition import Acquisition
  from ax.models.torch.botorch_modular.model import BoTorchModel, SurrogateSpec
  from ax.models.torch.botorch_modular.surrogate import Surrogate
  from ax.models.torch.botorch_modular.utils import construct_acquisition_and_optimizer_options
  from ax.models.torch.utils import _filter_X_observed
  from ax.models.torch_base import TorchOptConfig
  from ax.utils.common.constants import Keys
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import checked_cast
  from ax.utils.testing.mock import fast_botorch_optimize
  from ax.utils.testing.torch_stubs import get_torch_test_data
  from botorch.acquisition import qLogNoisyExpectedImprovement
  from botorch.acquisition.input_constructors import _register_acqf_input_constructor, get_acqf_input_constructor
  from botorch.acquisition.monte_carlo import qExpectedImprovement
  from botorch.acquisition.multi_objective.logei import qLogNoisyExpectedHypervolumeImprovement
  from botorch.acquisition.multi_objective.objective import WeightedMCMultiOutputObjective
  from botorch.acquisition.objective import GenericMCObjective
  from botorch.models.fully_bayesian import SaasFullyBayesianSingleTaskGP
  from botorch.models.gp_regression import SingleTaskGP
  from botorch.models.gp_regression_fidelity import SingleTaskMultiFidelityGP
  from botorch.models.model import ModelList
  from botorch.sampling.normal import SobolQMCNormalSampler
  from botorch.utils.constraints import get_outcome_constraint_transforms
  from botorch.utils.datasets import SupervisedDataset
  from gpytorch.likelihoods.gaussian_likelihood import FixedNoiseGaussianLikelihood
  from gpytorch.mlls.exact_marginal_log_likelihood import ExactMarginalLogLikelihood
label_desc: Use image node_id 3 for calling the BoTorchModelTest obj's underlying member method code with example usage: obj.test_surrogates_property() without return types