code: def setUp(self) -> None:
      self.device = torch.device("cpu")
      self.dtype = torch.double
      self.mock_botorch_model = MagicMock(Model)
      tkwargs = {"dtype": self.dtype, "device": self.device}
      self.X_dummy = torch.ones(1, 3, **tkwargs)
      self.outcome_constraints = (
          torch.tensor([[1.0]], **tkwargs),
          torch.tensor([[0.5]], **tkwargs),
      )
      self.objective_weights = torch.ones(1, **tkwargs)
      self.moo_objective_weights = torch.ones(2, **tkwargs)
      self.objective_thresholds = torch.tensor([0.5, 1.5], **tkwargs)
  
imports: from typing import Set, Tuple
  from unittest.mock import MagicMock, Mock, patch
  import torch
  from ax.exceptions.core import UnsupportedError
  from ax.models.torch.utils import _get_X_pending_and_observed, get_botorch_objective_and_transform
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.typeutils import checked_cast, not_none
  from botorch.acquisition.knowledge_gradient import qKnowledgeGradient
  from botorch.acquisition.logei import qLogNoisyExpectedImprovement
  from botorch.acquisition.monte_carlo import qNoisyExpectedImprovement
  from botorch.acquisition.multi_objective.monte_carlo import qNoisyExpectedHypervolumeImprovement
  from botorch.acquisition.multi_objective.multi_output_risk_measures import MARS, MultiOutputExpectation
  from botorch.acquisition.multi_objective.objective import WeightedMCMultiOutputObjective
  from botorch.acquisition.objective import ConstrainedMCObjective, GenericMCObjective, ScalarizedPosteriorTransform
  from botorch.acquisition.risk_measures import Expectation
  from botorch.exceptions.errors import BotorchTensorDimensionError
  from botorch.models.model import Model
label_desc: Use image node_id 1 for calling the TorchUtilsTest obj's underlying member method code with example usage: obj.setUp() without return types