/**
* Tests present value.
*/
public void presentValueBetweenTradeAndSettle() {
final ZonedDateTime referenceDate = DateUtils.getUTCDate(2011, 12, 13);
final Cash deposit = DEPOSIT_DEFINITION.toDerivative(referenceDate);
final MultipleCurrencyAmount pvComputed = METHOD_DEPOSIT.presentValue(deposit, PROVIDER);
final double dfEnd = PROVIDER.getDiscountFactor(EUR, deposit.getEndTime());
final double dfStart = PROVIDER.getDiscountFactor(EUR, deposit.getStartTime());
final double pvExpected = (NOTIONAL + deposit.getInterestAmount()) * dfEnd - NOTIONAL * dfStart;
assertEquals("DepositDefinition: present value", pvExpected, pvComputed.getAmount(EUR), TOLERANCE_PV);
}