@Test public void testPayoff() { assertEquals(CALL.getPayoffFunction().getPayoff(DATA, null), 13, 0); assertEquals(CALL_REVERSE.getPayoffFunction().getPayoff(DATA, null), 0, 0); assertEquals(PUT.getPayoffFunction().getPayoff(DATA, null), 0, 0); assertEquals(PUT_REVERSE.getPayoffFunction().getPayoff(DATA, null), 13, 0); }
@Test public void test() { assertEquals(PUT.getPeriodEnd(), PERIOD_END); assertFalse(PUT.isReverse()); ExtremeSpreadOptionDefinition other = new ExtremeSpreadOptionDefinition(EXPIRY, false, PERIOD_END, false); assertEquals(other, PUT); assertEquals(other.hashCode(), PUT.hashCode()); other = new ExtremeSpreadOptionDefinition( EXPIRY, false, new Expiry(DateUtils.getDateOffsetWithYearFraction(DATE, 0.15)), false); assertFalse(other.equals(PUT)); other = new ExtremeSpreadOptionDefinition(EXPIRY, false, PERIOD_END, true); assertFalse(other.equals(PUT)); assertEquals(PUT.getTimeFromPeriodEnd(EXPIRY.getExpiry()), 0.725, 0); assertEquals(PUT.getTimeFromPeriodEnd(DATE), -0.275, 0); }
@Test public void testExercise() { assertFalse(PUT.getExerciseFunction().shouldExercise(DATA, null)); assertFalse(PUT_REVERSE.getExerciseFunction().shouldExercise(DATA, null)); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullDate() { PUT.getTimeFromPeriodEnd(null); }