/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.fixedincome; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import org.testng.annotations.Test; import com.opengamma.financial.analytics.DoubleLabelledMatrix1D; import com.opengamma.util.money.Currency; import com.opengamma.util.test.TestGroup; /** * */ @Test(groups = TestGroup.UNIT) public class YieldCurveNodeSensitivityDataBundleTest { private static final Double[] T = new Double[] {1., 2., 3., 4.}; private static final Object[] LABELS = new Object[] {"1Y", "2Y", "3Y", "4Y"}; private static final double[] X = new double[] {5, 6, 7, 8}; private static final DoubleLabelledMatrix1D M = new DoubleLabelledMatrix1D(T, X); private static final Currency CCY = Currency.USD; private static final String NAME = "FUNDING"; @Test(expectedExceptions = IllegalArgumentException.class) public void testNullMatrix() { new YieldCurveNodeSensitivityDataBundle(CCY, null, NAME); } @Test(expectedExceptions = IllegalArgumentException.class) public void testNullCurrency() { new YieldCurveNodeSensitivityDataBundle(null, M, NAME); } @Test(expectedExceptions = IllegalArgumentException.class) public void testNullName() { new YieldCurveNodeSensitivityDataBundle(CCY, M, null); } @Test public void test() { final YieldCurveNodeSensitivityDataBundle data = new YieldCurveNodeSensitivityDataBundle(CCY, M, NAME); YieldCurveNodeSensitivityDataBundle other = new YieldCurveNodeSensitivityDataBundle(CCY, M, NAME); assertEquals(data, other); assertEquals(data.hashCode(), other.hashCode()); assertEquals(data.getCurrency(), CCY); assertEquals(data.getLabelledMatrix(), M); assertEquals(data.getYieldCurveName(), NAME); other = new YieldCurveNodeSensitivityDataBundle(CCY, new DoubleLabelledMatrix1D(T, LABELS, X), NAME); assertFalse(other.equals(data)); other = new YieldCurveNodeSensitivityDataBundle(Currency.GBP, M, NAME); assertFalse(other.equals(data)); other = new YieldCurveNodeSensitivityDataBundle(CCY, M, "PPP"); assertFalse(other.equals(data)); } }