code: def test_hypervolume_pareto_with_no_good_point() -> None:
      hvol = core.HypervolumePareto(upper_bounds=(100, 100))
      tuples = [(110, 110), (110, 90), (90, 110)]
      values = []
      for tup in tuples:
          param = ng.p.Tuple(*(ng.p.Scalar(x) for x in tup))
          param._losses = np.array(tup)
          values.append(hvol.add(param))
      expected = [20, 10, 10]
      assert values == expected, f"Expected {expected} but got {values}"
      front = [p.value for p in hvol.pareto_front()]
      expected_front = [(110, 90), (90, 110)]
      assert (
          front == expected_front
      ), f"Expected {expected_front} but got {front}"
      assert hvol._best_volume == -10
  
file_path: nevergrad/nevergrad/optimization/multiobjective/test_core.py
imports: import warnings
  from unittest import SkipTest
  import numpy
  import pytest
  import nevergrad.common.typing
  import nevergrad
  from ..None import base
  from ..optimizerlib import registry
  from .None import core
label_desc: Use image node_id 2 for calling a global function with example usage: test_hypervolume_pareto_with_no_good_point() without return types