code: def test_pareto_frontier_evaluator_with_outcome_constraints(
      self,
  ) -> None:
      Y, cov, indx = pareto_frontier_evaluator(
          model=self.model,
          objective_weights=self.objective_weights,
          objective_thresholds=self.objective_thresholds,
          Y=self.Y,
          Yvar=self.Yvar,
          outcome_constraints=self.outcome_constraints,
      )
      pred = self.Y[2, :]
      self.assertTrue(
          torch.allclose(Y, pred),
          f"actual {Y} does not match pred {pred}",
      )
      self.assertTrue(
          torch.equal(torch.tensor([2], dtype=torch.long), indx)
      )
  
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 5 for calling the FrontierEvaluatorTest obj's underlying member method code with example usage: obj.test_pareto_frontier_evaluator_with_outcome_constraints() without return types