code: def test_get_qLogEHVI_input_validation_errors(self) -> None:
      weights = torch.ones(2)
      objective_thresholds = torch.zeros(2)
      mm = MockModel(MockPosterior())
      with self.assertRaisesRegex(
          ValueError, "There are no feasible observed points."
      ):
          get_qLogEHVI(
              model=mm,
              objective_weights=weights,
              objective_thresholds=objective_thresholds,
          )
  
imports: from contextlib import ExitStack
  from typing import Any, cast, Dict, Tuple
  from unittest import mock
  import numpy
  import torch
  from ax.core.search_space import SearchSpaceDigest
  from ax.models.torch.botorch_moo import MultiObjectiveBotorchModel
  from ax.models.torch.botorch_moo_defaults import get_outcome_constraint_transforms, get_qLogEHVI, get_qLogNEHVI, get_weighted_mc_objective_and_objective_thresholds, infer_objective_thresholds, pareto_frontier_evaluator
  from ax.models.torch.utils import _get_X_pending_and_observed
  from ax.utils.common.testutils import TestCase
  from botorch.utils.datasets import SupervisedDataset
  from botorch.utils.multi_objective.hypervolume import infer_reference_point
  from botorch.utils.sampling import manual_seed
  from botorch.utils.testing import MockModel, MockPosterior
  from torch._tensor import Tensor
label_desc: Use image node_id 1 for calling the BotorchMOODefaultsTest obj's underlying member method code with example usage: obj.test_get_qLogEHVI_input_validation_errors() without return types