@Test(groups = {"bbgSecurityFutureTests"}) public void euroBondFuture() throws Exception { ExternalIdBundle euroBund = ExternalIdBundle.of(ExternalSchemes.bloombergTickerSecurityId("RXA Comdty")); Security bond = _securityProvider.getSecurity(euroBund); assertNotNull(bond); assertTrue(bond instanceof BondFutureSecurity); BondFutureSecurity euroBondFuture = (BondFutureSecurity) bond; assertEquals("FUTURE", euroBondFuture.getSecurityType()); assertEquals("Bond", euroBondFuture.getContractCategory()); assertEquals(EUR, euroBondFuture.getCurrency()); String displayName = euroBondFuture.getName(); assertNotNull(displayName); assertTrue(displayName.contains("EURO-BUND FUTURE")); Expiry expiry = euroBondFuture.getExpiry(); assertNotNull(expiry); assertTrue(expiry.toInstant().isAfter(getTodayInstant())); assertEquals("XEUR", euroBondFuture.getTradingExchange()); assertEquals("XEUR", euroBondFuture.getSettlementExchange()); // assert identifiers are set Collection<ExternalId> identifiers = euroBondFuture.getExternalIdBundle().getExternalIds(); assertNotNull(identifiers); assertTrue(identifiers.size() >= EXPECTED_IDENTIFICATION_SCHEME.length); ExternalIdBundle identifierBundle = ExternalIdBundle.of(identifiers); for (ExternalScheme expectedIDScheme : EXPECTED_IDENTIFICATION_SCHEME) { assertNotNull(identifierBundle.getExternalId(expectedIDScheme)); } // assert deliverables are not empty Collection<BondFutureDeliverable> basket = euroBondFuture.getBasket(); assertNotNull(basket); for (BondFutureDeliverable bondFutureDeliverable : basket) { ExternalIdBundle bundle = bondFutureDeliverable.getIdentifiers(); assertNotNull(bundle); assertNotNull(bundle.getExternalId(ExternalSchemes.BLOOMBERG_BUID)); assertTrue(bondFutureDeliverable.getConversionFactor() > 0); } }