throw new MathException(e);
}
final double priceCMS = factor * (strikePart + integralPart) * CMS_COUPON_RECEIVER.getNotional() * CMS_COUPON_RECEIVER.getPaymentYearFraction();
assertEquals(8854.551, priceCMS, 1E-2);
// Price not verified yet: from previous run.
final CouponCMSSABRReplicationMethod replication = CouponCMSSABRReplicationMethod.getInstance();
final double priceCMS_method = replication.presentValue(CMS_COUPON_RECEIVER, sabrBundle).getAmount();
assertEquals(priceCMS, priceCMS_method, 1.5); // Different precision in integration.
final double priceCMS_calculator = CMS_COUPON_RECEIVER.accept(PVC, sabrBundle);
assertEquals(priceCMS_method, priceCMS_calculator, 2E-1);// Different precision in integration.
final PresentValueCalculator pvcNoConvexity = PresentValueCalculator.getInstance();
final double priceCMS_noConvexity = CMS_COUPON_RECEIVER.accept(pvcNoConvexity, curves);// Price without convexity adjustment.