/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.market.curve; import static com.opengamma.strata.collect.TestHelper.assertSerialization; import static com.opengamma.strata.collect.TestHelper.coverBeanEquals; import static com.opengamma.strata.collect.TestHelper.coverImmutableBean; import static org.testng.Assert.assertEquals; import java.util.List; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.opengamma.strata.collect.array.DoubleArray; import com.opengamma.strata.collect.array.DoubleMatrix; /** * Test {@link JacobianCalibrationMatrix}. */ @Test public class JacobianCalibrationMatrixTest { private static final CurveName NAME1 = CurveName.of("Test1"); private static final CurveName NAME2 = CurveName.of("Test2"); private static final CurveName NAME3 = CurveName.of("Test3"); private static final CurveParameterSize CPS1 = CurveParameterSize.of(NAME1, 3); private static final CurveParameterSize CPS2 = CurveParameterSize.of(NAME2, 2); private static final List<CurveParameterSize> CPS = ImmutableList.of(CPS1, CPS2); private static final DoubleMatrix MATRIX = DoubleMatrix.of(2, 2, 1d, 2d, 2d, 3d); private static final DoubleMatrix MATRIX2 = DoubleMatrix.of(2, 2, 2d, 2d, 3d, 3d); //------------------------------------------------------------------------- public void test_of() { JacobianCalibrationMatrix test = JacobianCalibrationMatrix.of(CPS, MATRIX); assertEquals(test.getOrder(), CPS); assertEquals(test.getJacobianMatrix(), MATRIX); assertEquals(test.getCurveCount(), 2); assertEquals(test.getTotalParameterCount(), 5); assertEquals(test.containsCurve(NAME1), true); assertEquals(test.containsCurve(NAME2), true); assertEquals(test.containsCurve(NAME3), false); } //------------------------------------------------------------------------- public void test_split() { JacobianCalibrationMatrix test = JacobianCalibrationMatrix.of(CPS, MATRIX); DoubleArray array = DoubleArray.of(1, 2, 3, 4, 5); DoubleArray array1 = DoubleArray.of(1, 2, 3); DoubleArray array2 = DoubleArray.of(4, 5); assertEquals(test.splitValues(array), ImmutableMap.of(NAME1, array1, NAME2, array2)); } //------------------------------------------------------------------------- public void coverage() { JacobianCalibrationMatrix test = JacobianCalibrationMatrix.of(CPS, MATRIX); coverImmutableBean(test); JacobianCalibrationMatrix test2 = JacobianCalibrationMatrix.of(ImmutableList.of(CPS1), MATRIX2); coverBeanEquals(test, test2); } public void test_serialization() { JacobianCalibrationMatrix test = JacobianCalibrationMatrix.of(CPS, MATRIX); assertSerialization(test); } }