@Test
public void testMetalFutureOption() {
final double answer = -24.356026185994125;
final MetalFutureDefinition definition = new MetalFutureDefinition(EXPIRY_DATE, AN_UNDERLYING, UNIT_AMOUNT, null, null, AMOUNT, "tonnes", SettlementType.CASH, 0,
Currency.GBP, SETTLEMENT_DATE);
final MetalFuture future = definition.toDerivative(A_DATE);
final MetalFutureOption option = new MetalFutureOption(EXPIRY, future, STRIKE, EXERCISE, true);
final double pv = option.accept(PRICER, MARKET);
assertEquals(answer, pv * option.getUnderlying().getUnitAmount(), TOLERANCE);
}