public void test_currentCash_onPay() {
   MultiCurrencyAmount cc1 = TRADE_PRICER.currentCash(CMS_TRADE_PREMIUM, RATES_PROVIDER_ON_PAY);
   MultiCurrencyAmount cc2 = TRADE_PRICER.currentCash(CMS_TRADE, RATES_PROVIDER_ON_PAY);
   MultiCurrencyAmount ccProd1 = PRODUCT_PRICER.currentCash(CMS_ONE_LEG, RATES_PROVIDER_ON_PAY);
   MultiCurrencyAmount ccProd2 = PRODUCT_PRICER.currentCash(CMS_TWO_LEGS, RATES_PROVIDER_ON_PAY);
   assertEquals(cc1, ccProd1);
   assertEquals(cc2, ccProd2);
 }
 public void test_presentValue() {
   MultiCurrencyAmount pv1 = TRADE_PRICER.presentValue(CMS_TRADE_PREMIUM, RATES_PROVIDER);
   MultiCurrencyAmount pv2 = TRADE_PRICER.presentValue(CMS_TRADE, RATES_PROVIDER);
   MultiCurrencyAmount pvProd1 = PRODUCT_PRICER.presentValue(CMS_ONE_LEG, RATES_PROVIDER);
   MultiCurrencyAmount pvProd2 = PRODUCT_PRICER.presentValue(CMS_TWO_LEGS, RATES_PROVIDER);
   CurrencyAmount pvPrem = PREMIUM_PRICER.presentValue(PREMIUM, RATES_PROVIDER);
   assertEquals(pv1, pvProd1.plus(pvPrem));
   assertEquals(pv2, pvProd2);
 }
 public void test_presentValueSensitivity() {
   PointSensitivities pt1 =
       TRADE_PRICER.presentValueSensitivity(CMS_TRADE_PREMIUM, RATES_PROVIDER);
   PointSensitivities pt2 = TRADE_PRICER.presentValueSensitivity(CMS_TRADE, RATES_PROVIDER);
   PointSensitivityBuilder ptProd1 =
       PRODUCT_PRICER.presentValueSensitivity(CMS_ONE_LEG, RATES_PROVIDER);
   PointSensitivityBuilder ptProd2 =
       PRODUCT_PRICER.presentValueSensitivity(CMS_TWO_LEGS, RATES_PROVIDER);
   PointSensitivityBuilder ptPrem =
       PREMIUM_PRICER.presentValueSensitivity(PREMIUM, RATES_PROVIDER);
   assertEquals(pt1, ptProd1.combinedWith(ptPrem).build());
   assertEquals(pt2, ptProd2.build());
 }