/** Tests sector requests. */ @Test public void testSector() { LegalEntitySector filter = new LegalEntitySector(); assertEquals(LegalEntityTest.SECTOR, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals( LegalEntityTest.SECTOR, filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)); assertEquals(Sector.class, filter.getFilteredDataType()); filter = new LegalEntitySector(); filter.setUseSectorName(true); assertEquals( Collections.singleton(LegalEntityTest.SECTOR.getName()), filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(ParameterizedTypeImpl.of(Set.class, String.class), filter.getFilteredDataType()); filter = new LegalEntitySector(); filter.setClassifications(Collections.singleton(GICSCode.NAME)); filter.setClassificationValueTypes(Collections.singleton(GICSCode.class)); assertEquals( Collections.singleton(GICSCode.of(10203040)), filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(ParameterizedTypeImpl.of(Set.class, GICSCode.class), filter.getFilteredDataType()); filter = new LegalEntitySector(); filter.setClassifications(Collections.singleton(ICBCode.NAME)); filter.setClassificationValueTypes(Collections.singleton(ICBCode.class)); assertEquals( Collections.singleton(ICBCode.of("1020")), filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals(ParameterizedTypeImpl.of(Set.class, ICBCode.class), filter.getFilteredDataType()); filter = new LegalEntitySector(); filter.setClassifications(ImmutableSet.of(GICSCode.NAME, ICBCode.NAME)); filter.setClassificationValueTypes(ImmutableSet.of(GICSCode.class, ICBCode.class)); assertEquals( ImmutableSet.of(GICSCode.of(10203040), ICBCode.of("1020")), filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)); assertEquals( ParameterizedTypeImpl.of(Set.class, VariantType.either(GICSCode.class, ICBCode.class)), filter.getFilteredDataType()); filter = new LegalEntitySector(); filter.setUseClassificationName(true); assertTrue(filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY) instanceof Set); assertTrue(((Set<?>) filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY)).isEmpty()); assertTrue(filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE) instanceof Set); assertTrue(((Set<?>) filter.getFilteredData(LegalEntityTest.LEGAL_ENTITY_RED_CODE)).isEmpty()); assertEquals(ParameterizedTypeImpl.of(Set.class, Object.class), filter.getFilteredDataType()); }
/** Tests failure for empty sector classifications. */ @Test(expectedExceptions = IllegalStateException.class) public void testEmptySectorClassifications() { final FlexiBean classifications = new FlexiBean(); classifications.put(GICSCode.NAME, GICSCode.of("1020")); final Sector sector = Sector.of("INDUSTRIALS", classifications); final LegalEntitySector filter = new LegalEntitySector(); filter.setClassifications(Collections.singleton(ICBCode.NAME)); filter.getFilteredData( new LegalEntity( LegalEntityTest.TICKER, LegalEntityTest.SHORT_NAME, LegalEntityTest.CREDIT_RATINGS, sector, LegalEntityTest.REGION)); }