//-------------------------------------------------------------------------
        public virtual void test_rateFxSpotSensitivity()
        {
            DiscountFxForwardRates test   = DiscountFxForwardRates.of(CURRENCY_PAIR, FX_RATE, DFCURVE_GBP, DFCURVE_USD);
            double dfCcyBaseAtMaturity    = DFCURVE_GBP.discountFactor(DATE_REF);
            double dfCcyCounterAtMaturity = DFCURVE_USD.discountFactor(DATE_REF);
            double expected = dfCcyBaseAtMaturity / dfCcyCounterAtMaturity;

            assertEquals(test.rateFxSpotSensitivity(GBP, DATE_REF), expected, 1e-12);
            assertEquals(test.rateFxSpotSensitivity(USD, DATE_REF), 1d / expected, 1e-12);
        }
        public virtual void test_rateFxSpotSensitivity_nonMatchingCurrency()
        {
            DiscountFxForwardRates test = DiscountFxForwardRates.of(CURRENCY_PAIR, FX_RATE, DFCURVE_GBP, DFCURVE_USD);

            assertThrowsIllegalArg(() => test.rateFxSpotSensitivity(EUR, DATE_VAL));
        }