/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.legalentity; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertNull; import org.testng.annotations.Test; import com.opengamma.util.test.TestGroup; /** * Tests the credit rating object */ @Test(groups = TestGroup.UNIT) public class CreditRatingTest { /** A rating string */ private static final String RATING = "AAA"; /** A rating description */ private static final String DESCRIPTION = "Prime"; /** An agency name */ private static final String AGENCY = "Agency"; /** Is the rating long term */ private static final boolean IS_LONG_TERM = false; /** * Testing failure for null rating */ @Test(expectedExceptions = IllegalArgumentException.class) public void testNullRating1() { CreditRating.of(null, AGENCY, IS_LONG_TERM); } /** * Testing failure for null rating */ @Test(expectedExceptions = IllegalArgumentException.class) public void testNullRating2() { CreditRating.of(null, DESCRIPTION, AGENCY, IS_LONG_TERM); } /** * Testing failure for null description */ @Test(expectedExceptions = IllegalArgumentException.class) public void testNullDescription() { CreditRating.of(RATING, null, AGENCY, IS_LONG_TERM); } /** * Tests getters, hashCode and equals */ @Test public void testObject() { CreditRating rating = CreditRating.of(RATING, AGENCY, IS_LONG_TERM); CreditRating other = CreditRating.of(RATING, AGENCY, IS_LONG_TERM); assertEquals(AGENCY, rating.getAgencyName()); assertEquals(RATING, rating.getRating()); assertNull(rating.getRatingDescription()); assertEquals(IS_LONG_TERM, rating.isLongTerm()); assertEquals(rating, other); assertEquals(rating.hashCode(), other.hashCode()); other = CreditRating.of(DESCRIPTION, AGENCY, IS_LONG_TERM); assertFalse(rating.equals(other)); other = CreditRating.of(RATING, DESCRIPTION, IS_LONG_TERM); assertFalse(rating.equals(other)); other = CreditRating.of(RATING, AGENCY, !IS_LONG_TERM); assertFalse(rating.equals(other)); rating = CreditRating.of(RATING, DESCRIPTION, AGENCY, IS_LONG_TERM); assertEquals(AGENCY, rating.getAgencyName()); assertEquals(RATING, rating.getRating()); assertEquals(DESCRIPTION, rating.getRatingDescription()); assertEquals(IS_LONG_TERM, rating.isLongTerm()); other = CreditRating.of(RATING, DESCRIPTION, AGENCY, IS_LONG_TERM); assertEquals(rating, other); assertEquals(rating.hashCode(), other.hashCode()); other = CreditRating.of(DESCRIPTION, DESCRIPTION, AGENCY, IS_LONG_TERM); assertFalse(rating.equals(other)); other = CreditRating.of(RATING, AGENCY, AGENCY, IS_LONG_TERM); assertFalse(rating.equals(other)); other = CreditRating.of(RATING, DESCRIPTION, DESCRIPTION, IS_LONG_TERM); assertFalse(rating.equals(other)); other = CreditRating.of(RATING, DESCRIPTION, AGENCY, !IS_LONG_TERM); assertFalse(rating.equals(other)); } }