SmileDeltaTermStructureDataBundle extends ForexOptionDataBundle<SmileDeltaTermStructureParametersStrikeInterpolation> { public static SmileDeltaTermStructureDataBundle from(final YieldCurveBundle ycBundle, final SmileDeltaTermStructureParametersStrikeInterpolation smile, final Pair<Currency, Currency> currencyPair) { return new SmileDeltaTermStructureDataBundle(ycBundle, smile, currencyPair); } SmileDeltaTermStructureDataBundle(final YieldCurveBundle ycBundle, final SmileDeltaTermStructureParametersStrikeInterpolation smile, final Pair<Currency, Currency> currencyPair); static SmileDeltaTermStructureDataBundle from(final YieldCurveBundle ycBundle, final SmileDeltaTermStructureParametersStrikeInterpolation smile, final Pair<Currency, Currency> currencyPair); @Override SmileDeltaTermStructureDataBundle copy(); @Override SmileDeltaTermStructureDataBundle with(final YieldCurveBundle ycBundle); @Override SmileDeltaTermStructureDataBundle with(final SmileDeltaTermStructureParametersStrikeInterpolation volatilityModel);  }
@Test public void testObject() { assertEquals(FX_DATA.getVolatilityModel(), SMILES); assertEquals(FX_DATA.getCurrencyPair(), CCYS); SmileDeltaTermStructureDataBundle other = new SmileDeltaTermStructureDataBundle(CURVES, SMILES, CCYS); assertEquals(FX_DATA, other); assertEquals(FX_DATA.hashCode(), other.hashCode()); other = SmileDeltaTermStructureDataBundle.from(CURVES, SMILES, CCYS); assertEquals(FX_DATA, other); assertEquals(FX_DATA.hashCode(), other.hashCode()); other = new SmileDeltaTermStructureDataBundle(TestsDataSetsForex.createCurvesForex2(), SMILES, CCYS); assertFalse(FX_DATA.equals(other)); other = new SmileDeltaTermStructureDataBundle(CURVES, TestsDataSetsForex.smile5points(REFERENCE_DATE, 1), CCYS); assertFalse(FX_DATA.equals(other)); other = new SmileDeltaTermStructureDataBundle(CURVES, SMILES, Pairs.of(Currency.EUR, Currency.GBP)); assertFalse(FX_DATA.equals(other)); }