@Test
 /** Tests the Black volatility sensitivity (vega). */
 public void presentValueBlackNodeSensitivity() {
   final double shift = 1.0E-6;
   final PresentValueBlackSwaptionSensitivity pvbvs =
       METHOD_BLACK.presentValueBlackSensitivity(SWAPTION_LONG_REC, BLACK_MULTICURVES);
   final PresentValueBlackSwaptionSensitivity pvbns =
       BSSNC.calculateNodeSensitivities(pvbvs, BLACK);
   final double[] x =
       ((InterpolatedDoublesSurface) BLACK.getVolatilitySurface()).getXDataAsPrimitive();
   final double[] y =
       ((InterpolatedDoublesSurface) BLACK.getVolatilitySurface()).getYDataAsPrimitive();
   for (int loopindex = 0; loopindex < x.length; loopindex++) {
     final BlackFlatSwaptionParameters BlackP =
         BlackDataSets.createBlackSwaptionEUR6Shift(loopindex, shift);
     final BlackSwaptionFlatProviderDiscount curvesBlackP =
         new BlackSwaptionFlatProviderDiscount(MULTICURVES, BlackP);
     final MultipleCurrencyAmount pvP = METHOD_BLACK.presentValue(SWAPTION_LONG_REC, curvesBlackP);
     final BlackFlatSwaptionParameters BlackM =
         BlackDataSets.createBlackSwaptionEUR6Shift(loopindex, -shift);
     final BlackSwaptionFlatProviderDiscount curvesBlackM =
         new BlackSwaptionFlatProviderDiscount(MULTICURVES, BlackM);
     final MultipleCurrencyAmount pvM = METHOD_BLACK.presentValue(SWAPTION_LONG_REC, curvesBlackM);
     assertEquals(
         "Swaption Black method: present value volatility sensitivity",
         (pvP.getAmount(EUR) - pvM.getAmount(EUR)) / (2 * shift),
         pvbns.getSensitivity().getMap().get(new DoublesPair(x[loopindex], y[loopindex])),
         TOLERANCE_PV_DELTA);
   }
 }
 @Test
 /** Tests the Black volatility sensitivity (vega). */
 public void presentValueBlackSensitivityMethodVsCalculator() {
   final PresentValueBlackSwaptionSensitivity pvbsMethod =
       METHOD_BLACK.presentValueBlackSensitivity(SWAPTION_LONG_REC, BLACK_MULTICURVES);
   final PresentValueBlackSwaptionSensitivity pvbsCalculator =
       SWAPTION_LONG_REC.accept(PVBSSBSC, BLACK_MULTICURVES);
   assertEquals("Swaption Black method: present value", pvbsMethod, pvbsCalculator);
 }
 @Test
 /** Tests the Black volatility sensitivity (vega). */
 public void presentValueBlackSensitivity() {
   final double shift = 1.0E-6;
   final PresentValueBlackSwaptionSensitivity pvbvs =
       METHOD_BLACK.presentValueBlackSensitivity(SWAPTION_LONG_REC, BLACK_MULTICURVES);
   final BlackFlatSwaptionParameters BlackP = BlackDataSets.createBlackSwaptionEUR6Shift(shift);
   final BlackSwaptionFlatProviderDiscount curvesBlackP =
       new BlackSwaptionFlatProviderDiscount(MULTICURVES, BlackP);
   final MultipleCurrencyAmount pvP = METHOD_BLACK.presentValue(SWAPTION_LONG_REC, curvesBlackP);
   final BlackFlatSwaptionParameters BlackM = BlackDataSets.createBlackSwaptionEUR6Shift(-shift);
   final BlackSwaptionFlatProviderDiscount curvesBlackM =
       new BlackSwaptionFlatProviderDiscount(MULTICURVES, BlackM);
   final MultipleCurrencyAmount pvM = METHOD_BLACK.presentValue(SWAPTION_LONG_REC, curvesBlackM);
   final DoublesPair point =
       new DoublesPair(SWAPTION_LONG_REC.getTimeToExpiry(), SWAPTION_LONG_REC.getMaturityTime());
   assertEquals(
       "Swaption Black method: present value volatility sensitivity",
       (pvP.getAmount(EUR) - pvM.getAmount(EUR)) / (2 * shift),
       pvbvs.getSensitivity().getMap().get(point),
       TOLERANCE_PV_DELTA);
 }