public virtual void merge_illegal_arguments() { ImmutableRatesProvider test_dsc = ImmutableRatesProvider.builder(VAL_DATE).discountCurve(GBP, DISCOUNT_CURVE_GBP).build(); ImmutableRatesProvider test_ts = ImmutableRatesProvider.builder(VAL_DATE).timeSeries(GBP_USD_WM, TS).build(); ImmutableRatesProvider test_ibor = ImmutableRatesProvider.builder(VAL_DATE).iborIndexCurve(USD_LIBOR_3M, USD_LIBOR_CURVE).build(); ImmutableRatesProvider test_on = ImmutableRatesProvider.builder(VAL_DATE).overnightIndexCurve(USD_FED_FUND, FED_FUND_CURVE).build(); ImmutableRatesProvider test_pi = ImmutableRatesProvider.builder(VAL_DATE).priceIndexCurve(GB_RPI, GBPRI_CURVE).build(); assertThrowsIllegalArg(() => ImmutableRatesProvider.combined(FX_MATRIX, test_dsc, test_dsc)); assertThrowsIllegalArg(() => ImmutableRatesProvider.combined(FX_MATRIX, test_ts, test_ts)); assertThrowsIllegalArg(() => ImmutableRatesProvider.combined(FX_MATRIX, test_ibor, test_ibor)); assertThrowsIllegalArg(() => ImmutableRatesProvider.combined(FX_MATRIX, test_on, test_on)); assertThrowsIllegalArg(() => ImmutableRatesProvider.combined(FX_MATRIX, test_pi, test_pi)); }
public virtual void merge_content_2() { ImmutableRatesProvider test1 = ImmutableRatesProvider.builder(VAL_DATE).discountCurve(GBP, DISCOUNT_CURVE_GBP).timeSeries(GBP_USD_WM, TS).build(); ImmutableRatesProvider test2 = ImmutableRatesProvider.builder(VAL_DATE).discountCurve(USD, DISCOUNT_CURVE_USD).iborIndexCurve(USD_LIBOR_3M, USD_LIBOR_CURVE).overnightIndexCurve(USD_FED_FUND, FED_FUND_CURVE).priceIndexCurve(GB_RPI, GBPRI_CURVE).timeSeries(GB_RPI, TS).build(); ImmutableRatesProvider merged = ImmutableRatesProvider.combined(FX_MATRIX, test1, test2); assertEquals(merged.ValuationDate, VAL_DATE); assertEquals(merged.discountFactors(USD), DiscountFactors.of(USD, VAL_DATE, DISCOUNT_CURVE_USD)); assertEquals(merged.discountFactors(GBP), DiscountFactors.of(GBP, VAL_DATE, DISCOUNT_CURVE_GBP)); assertEquals(merged.iborIndexRates(USD_LIBOR_3M), IborIndexRates.of(USD_LIBOR_3M, VAL_DATE, USD_LIBOR_CURVE)); assertEquals(merged.overnightIndexRates(USD_FED_FUND), OvernightIndexRates.of(USD_FED_FUND, VAL_DATE, FED_FUND_CURVE)); assertEquals(merged.priceIndexValues(GB_RPI), PriceIndexValues.of(GB_RPI, VAL_DATE, GBPRI_CURVE, TS)); assertEquals(merged.timeSeries(GBP_USD_WM), TS); assertEquals(merged.FxRateProvider, FX_MATRIX); }