code: def test_pareto_frontier_evaluator_raw(self) -> None:
      Yvar = torch.diag_embed(self.Yvar)
      Y, cov, indx = pareto_frontier_evaluator(
          model=self.model,
          objective_weights=self.objective_weights,
          objective_thresholds=self.objective_thresholds,
          Y=self.Y,
          Yvar=Yvar,
      )
      pred = self.Y[2:4]
      self.assertTrue(
          torch.allclose(Y, pred), f"{Y} does not match {pred}"
      )
      expected_cov = Yvar[2:4]
      self.assertTrue(torch.allclose(expected_cov, cov))
      self.assertTrue(torch.equal(torch.arange(2, 4), indx))
  
      # Omit objective_thresholds
      Y, cov, indx = pareto_frontier_evaluator(
          model=self.model,
          objective_weights=self.objective_weights,
          Y=self.Y,
          Yvar=Yvar,
      )
      pred = self.Y[2:]
      self.assertTrue(
          torch.allclose(Y, pred), f"{Y} does not match {pred}"
      )
      expected_cov = Yvar[2:]
      self.assertTrue(torch.allclose(expected_cov, cov))
      self.assertTrue(torch.equal(torch.arange(2, 5), indx))
  
      # Change objective_weights so goal is to minimize b
      Y, cov, indx = pareto_frontier_evaluator(
          model=self.model,
          objective_weights=torch.tensor([1.0, -1.0]),
          objective_thresholds=self.objective_thresholds,
          Y=self.Y,
          Yvar=Yvar,
      )
      pred = self.Y[[0, 4]]
      self.assertTrue(
          torch.allclose(Y, pred),
          f"actual {Y} does not match pred {pred}",
      )
      expected_cov = Yvar[[0, 4]]
      self.assertTrue(torch.allclose(expected_cov, cov))
  
      # test no points better than reference point
      Y, cov, indx = pareto_frontier_evaluator(
          model=self.model,
          objective_weights=self.objective_weights,
          objective_thresholds=torch.full_like(
              self.objective_thresholds, 100.0
          ),
          Y=self.Y,
          Yvar=Yvar,
      )
      self.assertTrue(torch.equal(Y, self.Y[:0]))
      self.assertTrue(torch.equal(cov, torch.zeros(0, 3, 3)))
      self.assertTrue(
          torch.equal(torch.tensor([], 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 3 for calling the FrontierEvaluatorTest obj's underlying member method code with example usage: obj.test_pareto_frontier_evaluator_raw() without return types