public virtual void test_of_list_none()
        {
            ImmutableList <CrossGammaParameterSensitivity> list = ImmutableList.of();
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(list);

            assertEquals(test.size(), 0);
        }
        public virtual void test_of_single()
        {
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(ENTRY_USD);

            assertEquals(test.size(), 1);
            assertEquals(test.Sensitivities, ImmutableList.of(ENTRY_USD));
        }
        public virtual void test_of_list_normalized()
        {
            ImmutableList <CrossGammaParameterSensitivity> list = ImmutableList.of(ENTRY_USD, ENTRY_USD2);
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(list);

            assertEquals(test.size(), 1);
            assertEquals(test.Sensitivities, ImmutableList.of(ENTRY_USD_TOTAL));
        }
        public virtual void test_findSensitivity()
        {
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(ENTRY_USD);

            assertEquals(test.findSensitivity(NAME1, USD), ENTRY_USD);
            assertEquals(test.findSensitivity(NAME1, EUR), null);
            assertEquals(test.findSensitivity(NAME0, USD), null);
            assertEquals(test.findSensitivity(NAME0, EUR), null);
        }
        //-------------------------------------------------------------------------
        public virtual void test_getSensitivity()
        {
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of(ENTRY_USD);

            assertEquals(test.getSensitivity(NAME1, USD), ENTRY_USD);
            assertThrowsIllegalArg(() => test.getSensitivity(NAME1, EUR));
            assertThrowsIllegalArg(() => test.getSensitivity(NAME0, USD));
            assertThrowsIllegalArg(() => test.getSensitivity(NAME0, EUR));
        }
        //-------------------------------------------------------------------------
        public virtual void test_equalWithTolerance()
        {
            CrossGammaParameterSensitivities sensUsdTotal     = CrossGammaParameterSensitivities.of(ENTRY_USD_TOTAL);
            CrossGammaParameterSensitivities sensEur          = CrossGammaParameterSensitivities.of(ENTRY_EUR);
            CrossGammaParameterSensitivities sens1plus2       = SENSI_1.combinedWith(ENTRY_USD2);
            CrossGammaParameterSensitivities sensZeroA        = CrossGammaParameterSensitivities.of(ENTRY_ZERO3);
            CrossGammaParameterSensitivities sensZeroB        = CrossGammaParameterSensitivities.of(ENTRY_ZERO0);
            CrossGammaParameterSensitivities sens1plus2plus0a = SENSI_1.combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO0);
            CrossGammaParameterSensitivities sens1plus2plus0b = SENSI_1.combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO3);
            CrossGammaParameterSensitivities sens1plus2plus0  = SENSI_1.combinedWith(ENTRY_USD2).combinedWith(ENTRY_ZERO0).combinedWith(ENTRY_ZERO3);
            CrossGammaParameterSensitivities sens2plus0       = SENSI_2.combinedWith(sensZeroA);

            assertEquals(SENSI_1.equalWithTolerance(sensZeroA, TOLERENCE_CMP), false);
            assertEquals(SENSI_1.equalWithTolerance(SENSI_1, TOLERENCE_CMP), true);
            assertEquals(SENSI_1.equalWithTolerance(SENSI_2, TOLERENCE_CMP), false);
            assertEquals(SENSI_1.equalWithTolerance(sensUsdTotal, TOLERENCE_CMP), false);
            assertEquals(SENSI_1.equalWithTolerance(sensEur, TOLERENCE_CMP), false);
            assertEquals(SENSI_1.equalWithTolerance(sens1plus2, TOLERENCE_CMP), false);
            assertEquals(SENSI_1.equalWithTolerance(sens2plus0, TOLERENCE_CMP), false);

            assertEquals(SENSI_2.equalWithTolerance(sensZeroA, TOLERENCE_CMP), false);
            assertEquals(SENSI_2.equalWithTolerance(SENSI_1, TOLERENCE_CMP), false);
            assertEquals(SENSI_2.equalWithTolerance(SENSI_2, TOLERENCE_CMP), true);
            assertEquals(SENSI_2.equalWithTolerance(sensUsdTotal, TOLERENCE_CMP), false);
            assertEquals(SENSI_2.equalWithTolerance(sensEur, TOLERENCE_CMP), false);
            assertEquals(SENSI_2.equalWithTolerance(sens1plus2, TOLERENCE_CMP), false);
            assertEquals(SENSI_2.equalWithTolerance(sens2plus0, TOLERENCE_CMP), true);

            assertEquals(sensZeroA.equalWithTolerance(sensZeroA, TOLERENCE_CMP), true);
            assertEquals(sensZeroA.equalWithTolerance(SENSI_1, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(SENSI_2, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(sensUsdTotal, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(sensEur, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(sens1plus2, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(sens2plus0, TOLERENCE_CMP), false);
            assertEquals(sensZeroA.equalWithTolerance(sensZeroB, TOLERENCE_CMP), true);

            assertEquals(sensZeroB.equalWithTolerance(sensZeroB, TOLERENCE_CMP), true);
            assertEquals(sensZeroB.equalWithTolerance(SENSI_1, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(SENSI_2, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(sensUsdTotal, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(sensEur, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(sens1plus2, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(sens2plus0, TOLERENCE_CMP), false);
            assertEquals(sensZeroB.equalWithTolerance(sensZeroA, TOLERENCE_CMP), true);

            assertEquals(sens1plus2.equalWithTolerance(sens1plus2, TOLERENCE_CMP), true);
            assertEquals(sens1plus2.equalWithTolerance(sens1plus2plus0a, TOLERENCE_CMP), true);
            assertEquals(sens1plus2.equalWithTolerance(sens1plus2plus0b, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0a.equalWithTolerance(sens1plus2, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0a.equalWithTolerance(sens1plus2plus0, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0a.equalWithTolerance(sens1plus2plus0a, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0a.equalWithTolerance(sens1plus2plus0b, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0b.equalWithTolerance(sens1plus2, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0b.equalWithTolerance(sens1plus2plus0, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0b.equalWithTolerance(sens1plus2plus0a, TOLERENCE_CMP), true);
            assertEquals(sens1plus2plus0b.equalWithTolerance(sens1plus2plus0b, TOLERENCE_CMP), true);
            assertEquals(sens2plus0.equalWithTolerance(sens2plus0, TOLERENCE_CMP), true);

            assertEquals(sensZeroA.equalWithTolerance(CrossGammaParameterSensitivities.empty(), TOLERENCE_CMP), true);
            assertEquals(CrossGammaParameterSensitivities.empty().equalWithTolerance(sensZeroA, TOLERENCE_CMP), true);
        }
        public virtual void test_of_array_none()
        {
            CrossGammaParameterSensitivities test = CrossGammaParameterSensitivities.of();

            assertEquals(test.size(), 0);
        }