@Test
 /** Tests the class getters. */
 public void getter() {
   assertEquals(OPTION_ERU2, OPTION_TRANSACTION.getUnderlyingOption());
   assertEquals(QUANTITY, OPTION_TRANSACTION.getQuantity());
   assertEquals(TRADE_DATE, OPTION_TRANSACTION.getTradeDate());
   assertEquals(TRADE_PRICE, OPTION_TRANSACTION.getTradePrice());
 }
 @Test
 public void toDerivativeTradeInPast() {
   InterestRateFutureOptionMarginSecurity securityConverted =
       OPTION_ERU2.toDerivative(REFERENCE_DATE, CURVES_NAMES);
   double lastMarginPrice = 0.99;
   InterestRateFutureOptionMarginTransaction transactionConverted =
       OPTION_TRANSACTION.toDerivative(REFERENCE_DATE, lastMarginPrice, CURVES_NAMES);
   InterestRateFutureOptionMarginTransaction transaction =
       new InterestRateFutureOptionMarginTransaction(securityConverted, QUANTITY, lastMarginPrice);
   assertTrue("Conversion with trade date in the past", transactionConverted.equals(transaction));
 }
 @Test
 public void toDerivativeTradeToday() {
   ZonedDateTime referenceDate = TRADE_DATE;
   InterestRateFutureOptionMarginSecurity securityConverted =
       OPTION_ERU2.toDerivative(referenceDate, CURVES_NAMES);
   double lastMarginPrice = 0.99;
   InterestRateFutureOptionMarginTransaction transactionConverted =
       OPTION_TRANSACTION.toDerivative(referenceDate, lastMarginPrice, CURVES_NAMES);
   InterestRateFutureOptionMarginTransaction transaction =
       new InterestRateFutureOptionMarginTransaction(securityConverted, QUANTITY, TRADE_PRICE);
   assertTrue("Conversion with trade date in the past", transactionConverted.equals(transaction));
 }
 @Test
 /** Tests the equal and hashCode methods. */
 public void equalHash() {
   InterestRateFutureOptionMarginTransactionDefinition other =
       new InterestRateFutureOptionMarginTransactionDefinition(
           OPTION_ERU2, QUANTITY, TRADE_DATE, TRADE_PRICE);
   assertTrue(OPTION_TRANSACTION.equals(other));
   assertTrue(OPTION_TRANSACTION.hashCode() == other.hashCode());
   InterestRateFutureOptionMarginTransactionDefinition modifidOption;
   modifidOption =
       new InterestRateFutureOptionMarginTransactionDefinition(
           OPTION_ERU2, QUANTITY + 1, TRADE_DATE, TRADE_PRICE);
   assertFalse(OPTION_TRANSACTION.equals(modifidOption));
   modifidOption =
       new InterestRateFutureOptionMarginTransactionDefinition(
           OPTION_ERU2, QUANTITY, LAST_TRADING_DATE, TRADE_PRICE);
   assertFalse(OPTION_TRANSACTION.equals(modifidOption));
   modifidOption =
       new InterestRateFutureOptionMarginTransactionDefinition(
           OPTION_ERU2, QUANTITY, TRADE_DATE, TRADE_PRICE - 0.00001);
   assertFalse(OPTION_TRANSACTION.equals(modifidOption));
 }
 @Test(expectedExceptions = IllegalArgumentException.class)
 public void toDerivativeTradeFuture() {
   ZonedDateTime referenceDate = ScheduleCalculator.getAdjustedDate(TRADE_DATE, CALENDAR, -1);
   double lastMarginPrice = 0.99;
   OPTION_TRANSACTION.toDerivative(referenceDate, lastMarginPrice, CURVES_NAMES);
 }