VolatilitySurface implements VolatilityModel<DoublesPair> { public Surface<Double, Double, Double> getSurface() { return _surface; } VolatilitySurface(Surface<Double, Double, Double> surface);  VolatilitySurface(Surface<Double, Double, Double> surface, List<Tenor> expiryTenors); List<Tenor> getExpiryTenors(); @Override Double getVolatility(final DoublesPair xy); double getVolatility(final double t, final double k); VolatilityCurve getSlice(final Axis axis, final double here, final Interpolator1D interpolator); Surface<Double, Double, Double> getSurface(); VolatilitySurface withParallelShift(final double shift); VolatilitySurface withSingleAdditiveShift(final double x, final double y, final double shift); VolatilitySurface withMultipleAdditiveShifts(final double[] x, final double[] y, final double[] shifts); VolatilitySurface withConstantMultiplicativeShift(final double shift); VolatilitySurface withSingleMultiplicativeShift(final double x, final double y, final double shift); VolatilitySurface withMultipleMultiplicativeShifts(final double[] x, final double[] y, final double[] shifts); @Override int hashCode(); @Override boolean equals(final Object obj); static final Axis EXPIRY_AXIS; static final Axis STRIKE_AXIS; }
@Test public void testGetters() { assertEquals(VOL.getSurface(), SURFACE); }