SmileDeltaTermStructureVannaVolgaDataBundle extends ForexOptionDataBundle<SmileDeltaTermStructureParameters> { @Override public SmileDeltaTermStructureVannaVolgaDataBundle with(final YieldCurveBundle ycBundle) { return new SmileDeltaTermStructureVannaVolgaDataBundle(ycBundle, getVolatilityModel(), getCurrencyPair()); } SmileDeltaTermStructureVannaVolgaDataBundle(final YieldCurveBundle ycBundle, final SmileDeltaTermStructureParameters smile, final Pair<Currency, Currency> currencyPair); static SmileDeltaTermStructureVannaVolgaDataBundle from(final YieldCurveBundle ycBundle, final SmileDeltaTermStructureParameters smile, final Pair<Currency, Currency> currencyPair); @Override /** * Create a copy of the bundle. * @return The bundle. */ SmileDeltaTermStructureVannaVolgaDataBundle copy(); SmileDeltaParameters getSmile(final Currency ccy1, final Currency ccy2, final double time); @Override SmileDeltaTermStructureVannaVolgaDataBundle with(final YieldCurveBundle ycBundle); @Override SmileDeltaTermStructureVannaVolgaDataBundle with(final SmileDeltaTermStructureParameters volatilityModel);  }
@Test public void testBuilders() { final SmileDeltaTermStructureVannaVolgaDataBundle fxData = new SmileDeltaTermStructureVannaVolgaDataBundle(CURVES, SMILES, CCYS); assertEquals(FX_DATA, fxData); SmileDeltaTermStructureVannaVolgaDataBundle other = fxData.with(TestsDataSetsForex.createCurvesForex2()); assertEquals(FX_DATA, fxData); assertFalse(other.equals(fxData)); other = FX_DATA.with(TestsDataSetsForex.smile3points(REFERENCE_DATE, Interpolator1DFactory.LOG_LINEAR_INSTANCE)); assertEquals(FX_DATA, fxData); assertFalse(other.equals(fxData)); }