/** Tests failure for an agency rating description that is not present in the legal entity. */ @Test(expectedExceptions = IllegalStateException.class) public void testUseUnavailableRatingDescription() { final Set<CreditRating> creditRatings = new HashSet<>(); creditRatings.add(CreditRating.of("A", "S&P", "Prime", true)); creditRatings.add(CreditRating.of("A", "Moody's", "Prime", true)); final LegalEntityCreditRatings filter = new LegalEntityCreditRatings(); filter.setPerAgencyRatingDescriptions(Collections.singleton("Fitch")); filter.getFilteredData( new LegalEntity(null, LegalEntityTest.SHORT_NAME, creditRatings, null, null)); }
/** Tests ratings requests. */ @Test public void testCreditRatings() { LegalEntityCreditRatings filter = new LegalEntityCreditRatings(); assertEquals( LegalEntityTest.CREDIT_RATINGS, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals( LegalEntityTest.CREDIT_RATINGS, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); final Set<CreditRating> creditRatings = new HashSet<>(LegalEntityTest.CREDIT_RATINGS); creditRatings.add(CreditRating.of("C", "Poor", "Test", false)); assertEquals( ParameterizedTypeImpl.of(Set.class, CreditRating.class), filter.getFilteredDataType()); filter = new LegalEntityCreditRatings(); filter.setUseRating(true); Set<Pair<String, String>> expected = new HashSet<>(); expected.add(Pair.of("Moody's", "B")); expected.add(Pair.of("S&P", "A")); expected.add(Pair.of("Test", "C")); assertEquals( expected, filter.getFilteredData( new LegalEntity(null, LegalEntityTest.SHORT_NAME, creditRatings, null, null))); assertEquals( expected, filter.getFilteredData( new LegalEntityWithREDCode( null, LegalEntityTest.SHORT_NAME, creditRatings, null, null, ""))); expected = new HashSet<>(); expected.add(Pair.of("Moody's", "B")); expected.add(Pair.of("S&P", "A")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals( ParameterizedTypeImpl.of( Set.class, ParameterizedTypeImpl.of(Pair.class, String.class, String.class)), filter.getFilteredDataType()); filter = new LegalEntityCreditRatings(); filter.setPerAgencyRatings(Collections.singleton("Moody's")); expected = new HashSet<>(); expected.add(Pair.of("Moody's", "B")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals( ParameterizedTypeImpl.of( Set.class, ParameterizedTypeImpl.of(Pair.class, String.class, String.class)), filter.getFilteredDataType()); filter = new LegalEntityCreditRatings(); filter.setPerAgencyRatings(Collections.singleton("S&P")); expected = new HashSet<>(); expected.add(Pair.of("S&P", "A")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals( ParameterizedTypeImpl.of( Set.class, ParameterizedTypeImpl.of(Pair.class, String.class, String.class)), filter.getFilteredDataType()); filter = new LegalEntityCreditRatings(); filter.setUseRatingDescription(true); expected = new HashSet<>(); expected.add(Pair.of("Moody's", "Investment Grade")); expected.add(Pair.of("S&P", "Prime")); expected.add(Pair.of("Test", "Poor")); assertEquals( expected, filter.getFilteredData( new LegalEntity(null, LegalEntityTest.SHORT_NAME, creditRatings, null, null))); assertEquals( expected, filter.getFilteredData( new LegalEntityWithREDCode( null, LegalEntityTest.SHORT_NAME, creditRatings, null, null, ""))); expected = new HashSet<>(); expected.add(Pair.of("Moody's", "Investment Grade")); expected.add(Pair.of("S&P", "Prime")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals( ParameterizedTypeImpl.of( Set.class, ParameterizedTypeImpl.of(Pair.class, String.class, String.class)), filter.getFilteredDataType()); filter = new LegalEntityCreditRatings(); filter.setPerAgencyRatingDescriptions(Collections.singleton("Moody's")); expected = new HashSet<>(); expected.add(Pair.of("Moody's", "Investment Grade")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); filter = new LegalEntityCreditRatings(); filter.setPerAgencyRatingDescriptions(Collections.singleton("S&P")); expected = new HashSet<>(); expected.add(Pair.of("S&P", "Prime")); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(expected, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals( ParameterizedTypeImpl.of( Set.class, ParameterizedTypeImpl.of(Pair.class, String.class, String.class)), filter.getFilteredDataType()); }