@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); }