/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.integration.marketdata.manipulator.dsl.volsurface;
import org.testng.annotations.Test;
import com.opengamma.util.test.AbstractFudgeBuilderTestCase;
import com.opengamma.util.test.TestGroup;
/**
* Test.
*/
@Test(groups = TestGroup.UNIT)
public class VolatilitySurfaceManipulatorFudgeTest extends AbstractFudgeBuilderTestCase {
public void parallelShift() {
VolatilitySurfaceParallelShift shift = new VolatilitySurfaceParallelShift(0.123);
assertEncodeDecodeCycle(VolatilitySurfaceParallelShift.class, shift);
}
public void multipleAdditiveShifts() {
VolatilitySurfaceMultipleAdditiveShifts shifts = new VolatilitySurfaceMultipleAdditiveShifts(
new double[] {1, 2, 3 },
new double[] {4, 5, 6 },
new double[] {7, 8, 9 });
assertEncodeDecodeCycle(VolatilitySurfaceMultipleAdditiveShifts.class, shifts);
}
public void constantMultiplicativeShift() {
VolatilitySurfaceConstantMultiplicativeShift shift = new VolatilitySurfaceConstantMultiplicativeShift(0.321);
assertEncodeDecodeCycle(VolatilitySurfaceConstantMultiplicativeShift.class, shift);
}
public void multipleMultiplicativeShifts() {
VolatilitySurfaceMultipleMultiplicativeShifts shifts = new VolatilitySurfaceMultipleMultiplicativeShifts(
new double[] {1, 2, 3 },
new double[] {4, 5, 6 },
new double[] {7, 8, 9 });
assertEncodeDecodeCycle(VolatilitySurfaceMultipleMultiplicativeShifts.class, shifts);
}
public void singleAdditiveShift() {
VolatilitySurfaceSingleAdditiveShift shift = new VolatilitySurfaceSingleAdditiveShift(0.1, 0.2, 0.3);
assertEncodeDecodeCycle(VolatilitySurfaceSingleAdditiveShift.class, shift);
}
public void singleMultiplicativeShift() {
VolatilitySurfaceSingleMultiplicativeShift shift = new VolatilitySurfaceSingleMultiplicativeShift(1.1, 1.2, 1.3);
assertEncodeDecodeCycle(VolatilitySurfaceSingleMultiplicativeShift.class, shift);
}
}