}
@Test
public void testAgainstBSM() {
final StandardOptionDataBundle data = DATA;
final Function1D<StandardOptionDataBundle, Double> call = MODEL.getPricingFunction(new GapOptionDefinition(STRIKE, EXPIRY, true, STRIKE));
final Function1D<StandardOptionDataBundle, Double> put = MODEL.getPricingFunction(new GapOptionDefinition(STRIKE, EXPIRY, false, STRIKE));
final Function1D<StandardOptionDataBundle, Double> bsmCall = BSM.getPricingFunction(new EuropeanVanillaOptionDefinition(STRIKE, EXPIRY, true));
final Function1D<StandardOptionDataBundle, Double> bsmPut = BSM.getPricingFunction(new EuropeanVanillaOptionDefinition(STRIKE, EXPIRY, false));
assertEquals(call.evaluate(data), bsmCall.evaluate(data), EPS);
assertEquals(put.evaluate(data), bsmPut.evaluate(data), EPS);
}