public void testOnSmileySurface() {
final double forward = FORWARD_CURVE.getForward(expiry5);
final VectorRootFinder testSolver = new BroydenVectorRootFinder(1.0e-6, 1.0e-6, 50000);
final double vol1 = STRIKE_VOLSURFACE.getVolatility(expiry5, 40);
final double vol2 = STRIKE_VOLSURFACE.getVolatility(expiry5, 41);
final DisplacedDiffusionModel logBlack = new DisplacedDiffusionModel(forward, expiry5, 40, vol1, 41, vol2, 0.26, 0.01, testSolver);
//TODO really - more magic numbers
assertEquals(0.21148605807417542, logBlack.getVol(), 1e-8);
assertEquals(8.183093915461424, logBlack.getShift(), 1e-8);
final DisplacedDiffusionModel logBlackDef = new DisplacedDiffusionModel(forward, expiry5, 40, vol1, 41, vol2);
assertEquals(logBlackDef.getVol(), logBlack.getVol(), 1e-8);
assertEquals(logBlackDef.getShift(), logBlack.getShift(), 1e-8);
}