def METHOD_NAME() -> 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  # used in xps