final double pt0 = CURVES.getCurve(CURVES_NAME[1]).getDiscountFactor(t0);
final double pt1 = CURVES.getCurve(CURVES_NAME[1]).getDiscountFactor(t1);
double kappa = Math.log((1.0 + deltaF * STRIKE) * pt1 / pt0);
kappa += -(alpha1 * alpha1 - alpha0 * alpha0) / 2.0;
kappa /= alpha1 - alpha0;
final ProbabilityDistribution<Double> normal = new NormalDistribution(0, 1);
double priceExpected = pt0 / pt1 * normal.getCDF(-kappa - alpha0) - (1.0 + deltaF * STRIKE) * normal.getCDF(-kappa - alpha1);
priceExpected *= deltaP / deltaF * ptp;
priceExpected *= NOTIONAL;
final CurrencyAmount priceMethod = METHOD_HW.presentValue(CAP_LONG, BUNDLE_HW);
assertEquals("Cap/floor: Hull-White pricing", priceExpected, priceMethod.getAmount(), TOLERANCE_PV);
assertEquals("Cap/floor: Hull-White pricing", CUR, priceMethod.getCurrency());