public void test_currencyExposure() {
   MultiCurrencyAmount ceComputed =
       PRICER_TRADE.currencyExposure(OPTION_TRADE, RATES_PROVIDER, VOLS);
   PointSensitivities point =
       PRICER_TRADE.presentValueSensitivityRates(OPTION_TRADE, RATES_PROVIDER, VOLS);
   MultiCurrencyAmount pv = PRICER_TRADE.presentValue(OPTION_TRADE, RATES_PROVIDER, VOLS);
   MultiCurrencyAmount ceExpected = RATES_PROVIDER.currencyExposure(point).plus(pv);
   assertEquals(ceComputed.size(), 2);
   assertEquals(
       ceComputed.getAmount(EUR).getAmount(),
       ceExpected.getAmount(EUR).getAmount(),
       TOL * NOTIONAL);
   assertEquals(
       ceComputed.getAmount(USD).getAmount(),
       ceExpected.getAmount(USD).getAmount(),
       TOL * NOTIONAL);
 }
 public void test_presentValue() {
   MultiCurrencyAmount pvSensiTrade =
       PRICER_TRADE.presentValue(OPTION_TRADE, RATES_PROVIDER, VOLS);
   CurrencyAmount pvSensiProduct =
       PRICER_PRODUCT.presentValue(OPTION_PRODUCT, RATES_PROVIDER, VOLS);
   CurrencyAmount pvSensiPremium = PRICER_PAYMENT.presentValue(PREMIUM, RATES_PROVIDER);
   assertEquals(pvSensiTrade, MultiCurrencyAmount.of(pvSensiProduct, pvSensiPremium));
 }
 public void test_presentValueSensitivity() {
   PointSensitivities pvSensiTrade =
       PRICER_TRADE.presentValueSensitivityRates(OPTION_TRADE, RATES_PROVIDER, VOLS);
   PointSensitivities pvSensiProduct =
       PRICER_PRODUCT.presentValueSensitivityRates(OPTION_PRODUCT, RATES_PROVIDER, VOLS);
   PointSensitivities pvSensiPremium =
       PRICER_PAYMENT.presentValueSensitivity(PREMIUM, RATES_PROVIDER).build();
   assertEquals(pvSensiTrade, pvSensiProduct.combinedWith(pvSensiPremium));
 }
 public void test_presentValueSensitivityBlackVolatility() {
   PointSensitivities pvSensiTrade =
       PRICER_TRADE.presentValueSensitivityModelParamsVolatility(
           OPTION_TRADE, RATES_PROVIDER, VOLS);
   PointSensitivities pvSensiProduct =
       PRICER_PRODUCT
           .presentValueSensitivityModelParamsVolatility(OPTION_PRODUCT, RATES_PROVIDER, VOLS)
           .build();
   assertEquals(pvSensiTrade, pvSensiProduct);
 }
 public void test_currentCash_onSettle() {
   assertEquals(PRICER_TRADE.currentCash(OPTION_TRADE, CASH_SETTLE_DATE), PREMIUM.getValue());
 }
 public void test_currentCash_zero() {
   assertEquals(
       PRICER_TRADE.currentCash(OPTION_TRADE, VAL_DATE),
       CurrencyAmount.zero(PREMIUM.getCurrency()));
 }