public virtual void test_getter()
        {
            assertEquals(VOLS.ValuationDate, VAL_DATE);
            assertEquals(VOLS.Index, GBP_LIBOR_3M);
            assertEquals(VOLS.Surface, SURFACE);
            assertEquals(VOLS.ParameterCount, TIME.size());
            assertEquals(VOLS.findData(CURVE.Name).get(), CURVE);
            assertEquals(VOLS.findData(SURFACE.Name).get(), SURFACE);
            assertFalse(VOLS.findData(CurveName.of("foo")).Present);
            int    nParams  = VOLS.ParameterCount;
            double newValue = 152d;

            for (int i = 0; i < nParams; ++i)
            {
                assertEquals(VOLS.getParameter(i), SURFACE.getParameter(i));
                assertEquals(VOLS.getParameterMetadata(i), SURFACE.getParameterMetadata(i));
                assertEquals(VOLS.withParameter(i, newValue), ShiftedBlackIborCapletFloorletExpiryStrikeVolatilities.of(GBP_LIBOR_3M, VAL_DATE_TIME, SURFACE.withParameter(i, newValue), CURVE));
                assertEquals(VOLS.withPerturbation((n, v, m) => 2d * v), ShiftedBlackIborCapletFloorletExpiryStrikeVolatilities.of(GBP_LIBOR_3M, VAL_DATE_TIME, SURFACE.withPerturbation((n, v, m) => 2d * v), CURVE));
            }
        }
Esempio n. 2
0
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            BlackBondFutureExpiryLogMoneynessVolatilities test1 = BlackBondFutureExpiryLogMoneynessVolatilities.of(VAL_DATE_TIME, SURFACE);

            coverImmutableBean(test1);
            BlackBondFutureExpiryLogMoneynessVolatilities test2 = BlackBondFutureExpiryLogMoneynessVolatilities.of(VAL_DATE_TIME.plusDays(1), SURFACE.withParameter(0, 1d));

            coverBeanEquals(test1, test2);
        }