VolatilityCurve shifted1 = vol.withParallelShift(3);
InterpolatedDoublesCurve shifted2 = f.evaluate(CURVE, 3.);
assertArrayEquals(shifted1.getCurve().getXData(), shifted2.getXData());
assertArrayEquals(shifted1.getCurve().getYData(), shifted2.getYData());
shifted1 = vol.withSingleShift(1, 3);
shifted2 = f.evaluate(CURVE, 1, 3.);
assertArrayEquals(shifted1.getCurve().getXData(), shifted2.getXData());
assertArrayEquals(shifted1.getCurve().getYData(), shifted2.getYData());
shifted1 = vol.withMultipleShifts(new double[] {1, 2}, new double[] {3, 4});
shifted2 = f.evaluate(CURVE, new double[] {1, 2}, new double[] {3, 4});
assertArrayEquals(shifted1.getCurve().getXData(), shifted2.getXData());