//------------------------------------------------------------------------- public virtual void test_mergedWith_sens_empty() { CurveSensitivities @base = sut(); CurveSensitivities test = @base.mergedWith(CurveSensitivities.empty()); assertEquals(test, @base); }
//------------------------------------------------------------------------- public virtual void test_convertedTo_singleCurrency() { CurveSensitivities @base = sut(); CurveSensitivities test = @base.convertedTo(USD, FxMatrix.empty()); assertEquals(test.TypedSensitivities.get(ZERO_RATE_DELTA).Sensitivities, ImmutableList.of(ENTRY_USD)); }
//------------------------------------------------------------------------- public virtual void test_empty() { CurveSensitivities test = CurveSensitivities.empty(); assertEquals(test.Info, PortfolioItemInfo.empty()); assertEquals(test.TypedSensitivities, ImmutableMap.of()); }
//------------------------------------------------------------------------- public virtual void test_mergedWith_map_empty() { CurveSensitivities @base = sut(); IDictionary <CurveSensitivitiesType, CurrencyParameterSensitivities> additional = ImmutableMap.of(); CurveSensitivities test = @base.mergedWith(additional); assertEquals(test, @base); }
public virtual void test_convertedTo_multipleCurrency() { CurveSensitivities @base = sut2(); CurveSensitivities test = @base.convertedTo(USD, FX_RATE); assertEquals(test.TypedSensitivities.get(ZERO_RATE_DELTA).Sensitivities, ImmutableList.of(ENTRY_USD)); assertEquals(test.TypedSensitivities.get(ZERO_RATE_GAMMA).Sensitivities, ImmutableList.of(ENTRY_USD2, ENTRY_EUR_IN_USD)); }
//------------------------------------------------------------------------- public virtual void test_withMarketDataNames() { CurveSensitivities @base = sut(); CurveSensitivities test = @base.withMarketDataNames(name => NAME2); assertEquals(@base.TypedSensitivities.get(ZERO_RATE_DELTA).Sensitivities.get(0).MarketDataName, NAME1); assertEquals(test.TypedSensitivities.get(ZERO_RATE_DELTA).Sensitivities.get(0).MarketDataName, NAME2); }
//------------------------------------------------------------------------- public virtual void test_withParameterMetadatas() { CurveSensitivities @base = sut(); CurveSensitivities test = @base.withParameterMetadatas(md => TENOR_MD_1Y); CurrencyParameterSensitivity testSens = test.TypedSensitivities.get(ZERO_RATE_DELTA).Sensitivities.get(0); assertEquals(testSens.ParameterMetadata, ImmutableList.of(TENOR_MD_1Y)); assertEquals(testSens.Sensitivity, DoubleArray.of(723)); }
public virtual void test_of_map() { CurveSensitivities test = sut2(); assertEquals(test.Id, ID2); assertEquals(test.Info, INFO2); assertEquals(test.TypedSensitivities, ImmutableMap.of(ZERO_RATE_DELTA, SENSI1, ZERO_RATE_GAMMA, SENSI2)); assertEquals(test.getTypedSensitivity(ZERO_RATE_DELTA), SENSI1); assertEquals(test.getTypedSensitivity(ZERO_RATE_GAMMA), SENSI2); }
public virtual void test_mergedWith_map_mergeAndAdd() { CurveSensitivities base1 = sut(); CurveSensitivities base2 = sut2(); CurveSensitivities test = base1.mergedWith(base2.TypedSensitivities); assertEquals(test.Info, base1.Info); assertEquals(test.TypedSensitivities.Keys, ImmutableSet.of(ZERO_RATE_DELTA, ZERO_RATE_GAMMA)); assertEquals(test.TypedSensitivities.get(ZERO_RATE_DELTA), SENSI1.multipliedBy(2)); assertEquals(test.TypedSensitivities.get(ZERO_RATE_GAMMA), SENSI2); }
public virtual void test_mergedWith_sens_mergeAndAdd() { CurveSensitivities base1 = sut(); CurveSensitivities base2 = sut2(); CurveSensitivities test = base1.mergedWith(base2); assertEquals(test.Info, PortfolioItemInfo.empty().withId(ID2).withAttribute(NAME, "2").withAttribute(DESCRIPTION, "1")); assertEquals(test.TypedSensitivities.Keys, ImmutableSet.of(ZERO_RATE_DELTA, ZERO_RATE_GAMMA)); assertEquals(test.TypedSensitivities.get(ZERO_RATE_DELTA), SENSI1.multipliedBy(2)); assertEquals(test.TypedSensitivities.get(ZERO_RATE_GAMMA), SENSI2); }
//------------------------------------------------------------------------- public virtual void test_summarize() { CurveSensitivities @base = sut2(); PortfolioItemSummary test = @base.summarize(); assertEquals(test.Id, ID2); assertEquals(test.PortfolioItemType, PortfolioItemType.SENSITIVITIES); assertEquals(test.ProductType, ProductType.SENSITIVITIES); assertEquals(test.Currencies, ImmutableSet.of(EUR, USD)); assertEquals(test.Description, "CurveSensitivities[ZeroRateDelta, ZeroRateGamma]"); }
public virtual void test_of_single() { CurveSensitivities test = sut(); assertEquals(test.Id, null); assertEquals(test.Info, INFO1); assertEquals(test.TypedSensitivities, ImmutableMap.of(ZERO_RATE_DELTA, SENSI1)); assertEquals(test.getTypedSensitivity(ZERO_RATE_DELTA), SENSI1); assertThrows(typeof(System.ArgumentException), () => test.getTypedSensitivity(ZERO_RATE_GAMMA)); assertEquals(test.findTypedSensitivity(ZERO_RATE_DELTA), SENSI1); assertEquals(test.findTypedSensitivity(ZERO_RATE_GAMMA), null); }
public virtual void test_builder_tenors() { CurveName curveName = CurveName.of("GBP"); CurrencyParameterSensitivity sens1Y = CurrencyParameterSensitivity.of(curveName, ImmutableList.of(TENOR_MD_1Y), GBP, DoubleArray.of(3)); CurveSensitivities test = CurveSensitivities.builder(PortfolioItemInfo.empty()).add(ZERO_RATE_DELTA, curveName, GBP, TENOR_MD_1M, 4).add(ZERO_RATE_DELTA, curveName, GBP, TENOR_MD_1W, 1).add(ZERO_RATE_DELTA, curveName, GBP, TENOR_MD_1Y, 2).add(ZERO_RATE_DELTA, curveName, GBP, TENOR_MD_1W, 2).add(ZERO_RATE_DELTA, sens1Y).build(); assertEquals(test.Info, PortfolioItemInfo.empty()); assertEquals(test.TypedSensitivities.size(), 1); CurrencyParameterSensitivities sens = test.getTypedSensitivity(ZERO_RATE_DELTA); assertEquals(sens.Sensitivities.size(), 1); CurrencyParameterSensitivity singleSens = sens.getSensitivity(curveName, GBP); assertEquals(singleSens.Sensitivity, DoubleArray.of(3, 4, 5)); assertEquals(singleSens.getParameterMetadata(0), TENOR_MD_1W); assertEquals(singleSens.getParameterMetadata(1), TENOR_MD_1M); assertEquals(singleSens.getParameterMetadata(2), TENOR_MD_1Y); }
public virtual void test_builder_mixCurrency() { CurveName curveName = CurveName.of("WEIRD"); CurveSensitivities test = CurveSensitivities.builder(PortfolioItemInfo.empty()).add(ZERO_RATE_DELTA, curveName, GBP, TENOR_MD_1Y, 1).add(ZERO_RATE_DELTA, curveName, USD, TENOR_MD_1Y, 2).build(); assertEquals(test.Info, PortfolioItemInfo.empty()); assertEquals(test.TypedSensitivities.size(), 1); CurrencyParameterSensitivities sens = test.getTypedSensitivity(ZERO_RATE_DELTA); assertEquals(sens.Sensitivities.size(), 2); CurrencyParameterSensitivity sensGbp = sens.getSensitivity(curveName, GBP); assertEquals(sensGbp.Sensitivity, DoubleArray.of(1)); assertEquals(sensGbp.getParameterMetadata(0), TENOR_MD_1Y); CurrencyParameterSensitivity sensUsd = sens.getSensitivity(curveName, USD); assertEquals(sensUsd.Sensitivity, DoubleArray.of(2)); assertEquals(sensUsd.getParameterMetadata(0), TENOR_MD_1Y); }
//------------------------------------------------------------------------- /// <summary> /// Builds the sensitivity from the provided data. /// <para> /// If all the values for a single sensitivity are tenor-based, or all are date-based, /// then the resulting sensitivity will have the tenors sorted. /// /// </para> /// </summary> /// <returns> the sensitivities instance </returns> public CurveSensitivities build() { //JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter: return(CurveSensitivities.of(info, MapStream.of(data).mapValues(CurrencyParameterSensitivitiesBuilder::build).toMap())); }
private CurveSensitivities sut2() { return(CurveSensitivities.of(INFO2, ImmutableMap.of(ZERO_RATE_DELTA, SENSI1, ZERO_RATE_GAMMA, SENSI2))); }
private CurveSensitivities sut() { return(CurveSensitivities.of(INFO1, ZERO_RATE_DELTA, SENSI1)); }