public virtual void test_getSensitivity_name() { assertEquals(SENSI_3.getSensitivity(NAME1, NAME1, USD), ENTRY_USD); assertEquals(SENSI_3.getSensitivity(NAME1, NAME2, USD), CrossGammaParameterSensitivity.of(NAME1, METADATA1, NAME2, METADATA2, USD, MATRIX_USD2)); assertEquals(SENSI_3.getSensitivity(NAME2, NAME1, USD), CrossGammaParameterSensitivity.of(NAME2, METADATA2, NAME1, METADATA1, USD, MATRIX_USD2)); assertEquals(SENSI_3.getSensitivity(NAME2, NAME2, USD), CrossGammaParameterSensitivity.of(NAME2, METADATA2, NAME2, METADATA2, USD, DoubleMatrix.of(2, 2, -500, -400, -200, -300))); }
//------------------------------------------------------------------------- public virtual void test_multipliedBy() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); CrossGammaParameterSensitivity test = @base.multipliedBy(FACTOR1); assertEquals(test, CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD_FACTOR)); }
//------------------------------------------------------------------------- public virtual void test_convertedTo() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_EUR1, EUR, MATRIX_EUR1); CrossGammaParameterSensitivity test = @base.convertedTo(USD, FX_RATE); assertEquals(@base.convertedTo(EUR, FX_RATE), @base); assertEquals(test, CrossGammaParameterSensitivity.of(NAME1, METADATA_EUR1, USD, MATRIX_EUR1_IN_USD)); }
public virtual void test_diagonal_eurUsd() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1)), USD, MATRIX_USD_EUR); CurrencyParameterSensitivity test = @base.diagonal(); DoubleArray value = DoubleArray.of(MATRIX_USD1.get(0, 0), MATRIX_USD1.get(1, 1)); assertEquals(test, CurrencyParameterSensitivity.of(NAME1, METADATA_USD1, USD, value)); }
public virtual void test_diagonal() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); CurrencyParameterSensitivity test = @base.diagonal(); DoubleArray value = DoubleArray.of(MATRIX_USD1.get(0, 0), MATRIX_USD1.get(1, 1)); assertEquals(test, CurrencyParameterSensitivity.of(NAME1, METADATA_USD1, USD, value)); }
//------------------------------------------------------------------------- public virtual void test_withSensitivity() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); CrossGammaParameterSensitivity test = @base.withSensitivity(MATRIX_USD_FACTOR); assertEquals(test, CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD_FACTOR)); assertThrowsIllegalArg(() => @base.withSensitivity(DoubleMatrix.of(1, 1, 1d))); }
//------------------------------------------------------------------------- public virtual void coverage() { CrossGammaParameterSensitivity test = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); coverImmutableBean(test); CrossGammaParameterSensitivity test2 = CrossGammaParameterSensitivity.of(NAME2, METADATA_EUR1, EUR, MATRIX_EUR1); coverBeanEquals(test, test2); }
//------------------------------------------------------------------------- public virtual void test_total() { CrossGammaParameterSensitivity @base = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); CurrencyAmount test = @base.total(); assertEquals(test.Currency, USD); double expected = MATRIX_USD1.get(0, 0) + MATRIX_USD1.get(0, 1) + MATRIX_USD1.get(1, 0) + MATRIX_USD1.get(1, 1); assertEquals(test.Amount, expected); }
public virtual void test_getSensitivity_eurUsd() { CrossGammaParameterSensitivity test = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1)), USD, MATRIX_USD_EUR); CrossGammaParameterSensitivity expected1 = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, USD, MATRIX_USD1); assertEquals(test.getSensitivity(NAME1), expected1); CrossGammaParameterSensitivity expected2 = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, NAME2, METADATA_EUR1, USD, MATRIX_EUR1); assertEquals(test.getSensitivity(NAME2), expected2); assertThrowsIllegalArg(() => test.getSensitivity(CurveName.of("NAME-3"))); }
public virtual void test_of_eurUsd() { CrossGammaParameterSensitivity test = CrossGammaParameterSensitivity.of(NAME1, METADATA_USD1, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1)), USD, MATRIX_USD_EUR); assertEquals(test.MarketDataName, NAME1); assertEquals(test.ParameterCount, 2); assertEquals(test.ParameterMetadata, METADATA_USD1); assertEquals(test.getParameterMetadata(0), METADATA_USD1[0]); assertEquals(test.Currency, USD); assertEquals(test.Sensitivity, MATRIX_USD_EUR); assertEquals(test.Order, ImmutableList.of(Pair.of(NAME1, METADATA_USD1), Pair.of(NAME2, METADATA_EUR1))); }
public virtual void test_of_metadata_badMetadata() { assertThrowsIllegalArg(() => CrossGammaParameterSensitivity.of(NAME1, METADATA_BAD, USD, MATRIX_USD1)); }