final MultipleCurrencyAmount pvComputed = METHOD_BLACK_TRA.presentValue(BOND_FUTURE_OPTION_TRA_CALL, BLACK_PRICE_MULTICURVES);
final double priceCall = METHOD_BLACK_SEC.price(BOND_FUTURE_OPTION_SEC_CALL, BLACK_PRICE_MULTICURVES);
final MultipleCurrencyAmount pvPremium = METHOD_PAY_FIXED.presentValue(BOND_FUTURE_OPTION_TRA_CALL.getPremium(), ISSUER_MULTICURVES.getMulticurveProvider());
assertEquals("BondFutureOptionPremiumTransactionBlackSurfaceMethod: present value", pvComputed.getAmount(USD), pvPremium.getAmount(USD) + priceCall * QUANTITY * NOTIONAL, TOLERANCE_PV);
final double priceFutures = METHOD_FUTURES.price(BOND_FUT, ISSUER_MULTICURVES);
final MultipleCurrencyAmount pv2 = METHOD_BLACK_TRA.presentValue(BOND_FUTURE_OPTION_TRA_CALL, new BlackBondFuturesSmilePriceProvider(BLACK_MULTICURVES, priceFutures));
final MultipleCurrencyAmount pv3 = METHOD_BLACK_TRA.presentValue(BOND_FUTURE_OPTION_TRA_CALL, BLACK_MULTICURVES);
assertEquals("BondFutureOptionPremiumTransactionBlackSurfaceMethod: present value", pv2.getAmount(USD), pv3.getAmount(USD), TOLERANCE_PV);
}