blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 5.2678, eps);
data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(2)));
option = new EuropeanVanillaOptionDefinition(100, EXPIRY, true);
blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.8897, eps);
data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(3)));
option = new EuropeanVanillaOptionDefinition(105, EXPIRY, true);
blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.7832, eps);
data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(4)));