/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.util.credit;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertFalse;
import org.testng.annotations.Test;
import com.opengamma.id.ExternalId;
import com.opengamma.util.money.Currency;
import com.opengamma.util.money.UnorderedCurrencyPair;
import com.opengamma.util.test.TestGroup;
/**
* Test.
*/
@Test(groups = TestGroup.UNIT)
@SuppressWarnings("deprecation")
public class CreditCurveIdentifierTest {
private static final String RED_CODE = "ABC";
private static final Currency CURRENCY = Currency.of("USD");
private static final String TERM = "1Y";
private static final String SENIORITY = "SENIOR";
private static final String RESTRUCTURING_CLAUSE = "NONE";
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNullIssuer() {
CreditCurveIdentifier.of((String) null, CURRENCY, TERM, SENIORITY, RESTRUCTURING_CLAUSE);
}
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNullSeniority() {
CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, null, RESTRUCTURING_CLAUSE);
}
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNullRestructuringClause() {
CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, SENIORITY, null);
}
@Test
public void testEqualsHashCode() {
final CreditCurveIdentifier id = CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, SENIORITY, RESTRUCTURING_CLAUSE);
assertEquals(id.getRedCode(), RED_CODE);
assertEquals(id.getCurrency(), CURRENCY);
assertEquals(id.getTerm(), TERM);
assertEquals(id.getSeniority(), SENIORITY);
assertEquals(id.getRestructuringClause(), RESTRUCTURING_CLAUSE);
CreditCurveIdentifier other = CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, SENIORITY, RESTRUCTURING_CLAUSE);
assertEquals(id, other);
assertEquals(id.hashCode(), other.hashCode());
assertFalse(id.equals(null));
assertFalse(id.equals(UnorderedCurrencyPair.of(Currency.AUD, Currency.CAD)));
other = CreditCurveIdentifier.of(ExternalId.of("Scheme", "DEF"), CURRENCY, TERM, SENIORITY, RESTRUCTURING_CLAUSE);
assertFalse(other.equals(id));
other = CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, RESTRUCTURING_CLAUSE, RESTRUCTURING_CLAUSE);
assertFalse(other.equals(id));
other = CreditCurveIdentifier.of(RED_CODE, CURRENCY, TERM, SENIORITY, SENIORITY);
assertFalse(other.equals(id));
}
}