code: def setUp(self) -> None:
      super().setUp()
      self.twargs = {"dtype": torch.double}
      self.X_dim = 3
      self.Y_dim = 2
      X = torch.rand(2, self.X_dim, **self.twargs)
      Y = torch.rand(2, self.Y_dim, **self.twargs)
      comps = torch.tensor([[1, 0]], dtype=torch.long)
  
      self.model = SingleTaskGP(X, Y)
      self.pref_model_on_X = PairwiseGP(X, comps)
      self.pref_model_on_Y = PairwiseGP(Y, comps)
      self.deterministic_model = FixedSingleSampleModel(
          model=self.model
      )
  
file_path: botorch/test/acquisition/test_preference.py
imports: import torch
  from botorch.acquisition.acquisition import AcquisitionFunction
  from botorch.acquisition.preference import AnalyticExpectedUtilityOfBestOption, PairwiseBayesianActiveLearningByDisagreement
  from botorch.exceptions.errors import UnsupportedError
  from botorch.models import SingleTaskGP
  from botorch.models.deterministic import FixedSingleSampleModel
  from botorch.models.pairwise_gp import PairwiseGP
  from botorch.utils.testing import BotorchTestCase
label_desc: Use image node_id 1 for calling the TestPreferenceAcquisitionFunctions obj's underlying member method code with example usage: obj.setUp() without return types