CurveDataPointShifts implements ScenarioArgument<CurveDataPointShifts, CurveDataPointShiftsDecorator> { public static CurveDataPointShifts absolute(CurveSpecificationMatcher matcher, PointShift... shifts) { return new Absolute(matcher, Arrays.asList(shifts)); } protected  CurveDataPointShifts(CurveSpecificationMatcher matcher, List<PointShift> shifts); @Override Class<CurveDataPointShiftsDecorator> getFunctionType(); Result<Map<ExternalIdBundle, Double>> apply(CurveSpecification curveSpec, Map<ExternalIdBundle, Double> values); static CurveDataPointShifts absolute(CurveSpecificationMatcher matcher, PointShift... shifts); static CurveDataPointShifts absolute(CurveSpecificationMatcher matcher, List<PointShift> shifts); static CurveDataPointShifts relative(CurveSpecificationMatcher matcher, PointShift... shifts); static CurveDataPointShifts relative(CurveSpecificationMatcher matcher, List<PointShift> shifts);  }
@Test public void absolute() { CurveDataPointShifts shifts = CurveDataPointShifts.absolute(MATCHER, SHIFT_LIST); Result<Map<ExternalIdBundle, Double>> result = shifts.apply(CurveTestUtils.CURVE_SPEC, CurveTestUtils.VALUE_MAP); assertTrue(result.isSuccess()); CurveTestUtils.checkValues(result.getValue(), 0.2, 0.4, 0.4, 0.8); }