public virtual void test_pointShifts() { SabrParametersSwaptionVolatilities @base = SabrParametersSwaptionVolatilities.of(NAME, CONV, DATE_TIME, PARAM); PointShiftsBuilder builder = PointShifts.builder(ShiftType.ABSOLUTE); for (int i = 0; i < @base.ParameterCount; ++i) { builder.addShift(0, @base.getParameterMetadata(i).Identifier, 0.1d * (i + 1d)); builder.addShift(1, @base.getParameterMetadata(i).Identifier, 10d * (i + 1d)); } PointShifts shifts = builder.build(); MarketDataBox <ParameterizedData> resBox = shifts.applyTo(MarketDataBox.ofSingleValue(@base), REF_DATA); SabrParametersSwaptionVolatilities computed0 = (SabrParametersSwaptionVolatilities)resBox.getValue(0); SabrParametersSwaptionVolatilities computed1 = (SabrParametersSwaptionVolatilities)resBox.getValue(1); for (int i = 0; i < @base.ParameterCount; ++i) { assertEquals(computed0.getParameter(i), @base.getParameter(i) + 0.1d * (i + 1d)); assertEquals(computed1.getParameter(i), @base.getParameter(i) + 10d * (i + 1d)); } }