code: def test_BotorchMOOModel_with_qlognehvi(self) -> None:
      for dtype in (torch.float, torch.double):
          self.test_BotorchMOOModel_with_qehvi(
              dtype=dtype, use_noisy=True, use_log=True
          )
          self.test_BotorchMOOModel_with_qehvi_and_outcome_constraints(
              dtype=dtype, use_noisy=True, use_log=True
          )
  
imports: import dataclasses
  from contextlib import ExitStack
  from typing import Any, Dict
  from unittest import mock
  import ax.models.torch.botorch_moo_defaults
  import botorch.utils.multi_objective.hypervolume
  import numpy
  import torch
  from ax.core.search_space import SearchSpaceDigest
  from ax.exceptions.core import AxError
  from ax.models.torch.botorch_defaults import get_qLogNEI
  from ax.models.torch.botorch_moo import MultiObjectiveBotorchModel
  from ax.models.torch.botorch_moo_defaults import get_EHVI, get_NEHVI, get_qLogEHVI, get_qLogNEHVI, infer_objective_thresholds
  from ax.models.torch.utils import HYPERSPHERE
  from ax.models.torch_base import TorchOptConfig
  from ax.utils.common.testutils import TestCase
  from ax.utils.testing.mock import fast_botorch_optimize
  from botorch.acquisition.multi_objective import logei, monte_carlo
  from botorch.models import ModelListGP
  from botorch.models.transforms.input import Warp
  from botorch.optim.optimize import optimize_acqf_list
  from botorch.sampling.normal import IIDNormalSampler
  from botorch.utils.datasets import SupervisedDataset
  from botorch.utils.multi_objective.hypervolume import infer_reference_point
  from botorch.utils.multi_objective.scalarization import get_chebyshev_scalarization
  from botorch.utils.testing import MockModel, MockPosterior
label_desc: Use image node_id 4 for calling the BotorchMOOModelTest obj's underlying member method code with example usage: obj.test_BotorchMOOModel_with_qlognehvi() without return types