/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.curve.exposure; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertTrue; import java.util.List; import org.testng.annotations.Test; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.core.position.Trade; import com.opengamma.core.security.SecuritySource; import com.opengamma.financial.security.bond.CorporateBondSecurity; import com.opengamma.financial.security.bond.GovernmentBondSecurity; import com.opengamma.financial.security.bond.MunicipalBondSecurity; import com.opengamma.financial.security.capfloor.CapFloorCMSSpreadSecurity; import com.opengamma.financial.security.capfloor.CapFloorSecurity; import com.opengamma.financial.security.cash.CashSecurity; import com.opengamma.financial.security.cashflow.CashFlowSecurity; import com.opengamma.financial.security.cds.CreditDefaultSwapIndexSecurity; import com.opengamma.financial.security.cds.LegacyFixedRecoveryCDSSecurity; import com.opengamma.financial.security.cds.LegacyRecoveryLockCDSSecurity; import com.opengamma.financial.security.cds.LegacyVanillaCDSSecurity; import com.opengamma.financial.security.cds.StandardFixedRecoveryCDSSecurity; import com.opengamma.financial.security.cds.StandardRecoveryLockCDSSecurity; import com.opengamma.financial.security.cds.StandardVanillaCDSSecurity; import com.opengamma.financial.security.deposit.ContinuousZeroDepositSecurity; import com.opengamma.financial.security.deposit.PeriodicZeroDepositSecurity; import com.opengamma.financial.security.deposit.SimpleZeroDepositSecurity; import com.opengamma.financial.security.equity.EquitySecurity; import com.opengamma.financial.security.equity.EquityVarianceSwapSecurity; import com.opengamma.financial.security.forward.AgricultureForwardSecurity; import com.opengamma.financial.security.forward.EnergyForwardSecurity; import com.opengamma.financial.security.forward.MetalForwardSecurity; import com.opengamma.financial.security.fra.FRASecurity; import com.opengamma.financial.security.future.AgricultureFutureSecurity; import com.opengamma.financial.security.future.BondFutureSecurity; import com.opengamma.financial.security.future.DeliverableSwapFutureSecurity; import com.opengamma.financial.security.future.EnergyFutureSecurity; import com.opengamma.financial.security.future.EquityFutureSecurity; import com.opengamma.financial.security.future.EquityIndexDividendFutureSecurity; import com.opengamma.financial.security.future.FXFutureSecurity; import com.opengamma.financial.security.future.FederalFundsFutureSecurity; import com.opengamma.financial.security.future.IndexFutureSecurity; import com.opengamma.financial.security.future.InterestRateFutureSecurity; import com.opengamma.financial.security.future.MetalFutureSecurity; import com.opengamma.financial.security.future.StockFutureSecurity; import com.opengamma.financial.security.fx.FXForwardSecurity; import com.opengamma.financial.security.fx.FXVolatilitySwapSecurity; import com.opengamma.financial.security.fx.NonDeliverableFXForwardSecurity; import com.opengamma.financial.security.option.BondFutureOptionSecurity; import com.opengamma.financial.security.option.CommodityFutureOptionSecurity; import com.opengamma.financial.security.option.CreditDefaultSwapOptionSecurity; import com.opengamma.financial.security.option.EquityBarrierOptionSecurity; import com.opengamma.financial.security.option.EquityIndexDividendFutureOptionSecurity; import com.opengamma.financial.security.option.EquityIndexFutureOptionSecurity; import com.opengamma.financial.security.option.EquityIndexOptionSecurity; import com.opengamma.financial.security.option.EquityOptionSecurity; import com.opengamma.financial.security.option.FXBarrierOptionSecurity; import com.opengamma.financial.security.option.FXDigitalOptionSecurity; import com.opengamma.financial.security.option.FXOptionSecurity; import com.opengamma.financial.security.option.FxFutureOptionSecurity; import com.opengamma.financial.security.option.IRFutureOptionSecurity; import com.opengamma.financial.security.option.NonDeliverableFXDigitalOptionSecurity; import com.opengamma.financial.security.option.NonDeliverableFXOptionSecurity; import com.opengamma.financial.security.option.SwaptionSecurity; import com.opengamma.financial.security.swap.ForwardSwapSecurity; import com.opengamma.financial.security.swap.SwapSecurity; import com.opengamma.financial.security.swap.YearOnYearInflationSwapSecurity; import com.opengamma.financial.security.swap.ZeroCouponInflationSwapSecurity; import com.opengamma.id.ExternalId; import com.opengamma.util.test.TestGroup; /** * Unit test for CombinedExposureFunction. */ @Test(groups = TestGroup.UNIT) public class CombiningExposureFunctionTest { private static final ExposureFunction EXPOSURE_FUNCTION = new CombiningExposureFunction(new UnderlyingExposureFunction(ExposureFunctionTestHelper.getSecuritySource(null))); @Test public void testAgriculturalFutureSecurity() { final AgricultureFutureSecurity future = ExposureFunctionTestHelper.getAgricultureFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testBondFutureOptionSecurity() { final BondFutureSecurity future = ExposureFunctionTestHelper.getBondFutureSecurity(); final SecuritySource securitySource = ExposureFunctionTestHelper.getSecuritySource(future); final ExposureFunction exposureFunction = new UnderlyingExposureFunction(securitySource); final BondFutureOptionSecurity security = ExposureFunctionTestHelper.getBondFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = exposureFunction.getIds(trade); assertNull(ids); } @Test public void testBondFutureSecurity() { final BondFutureSecurity future = ExposureFunctionTestHelper.getBondFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testCapFloorCMSSpreadSecurity() { final CapFloorCMSSpreadSecurity security = ExposureFunctionTestHelper.getCapFloorCMSSpreadSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertTrue(ids.get(0).equals(ExternalSchemes.syntheticSecurityId("USD 10y Swap" + ExposureFunction.SEPARATOR + "USD 15y Swap")) || ids.get(0).equals(ExternalSchemes.syntheticSecurityId("USD 15y Swap" + ExposureFunction.SEPARATOR + "USD 10y Swap"))); } @Test public void testCapFloorSecurity() { final CapFloorSecurity security = ExposureFunctionTestHelper.getCapFloorSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("USD 6m Libor"), ids.get(0)); } @Test public void testCashFlowSecurity() { final CashFlowSecurity security = ExposureFunctionTestHelper.getCashFlowSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testCashSecurity() { final CashSecurity cash = ExposureFunctionTestHelper.getCashSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(cash); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testContinuousZeroDepositSecurity() { final ContinuousZeroDepositSecurity security = ExposureFunctionTestHelper.getContinuousZeroDepositSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testCorporateBondSecurity() { final CorporateBondSecurity security = ExposureFunctionTestHelper.getCorporateBondSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEnergyFutureOptionSecurity() { final EnergyFutureSecurity future = ExposureFunctionTestHelper.getEnergyFutureSecurity(); final SecuritySource securitySource = ExposureFunctionTestHelper.getSecuritySource(future); final ExposureFunction exposureFunction = new UnderlyingExposureFunction(securitySource); final CommodityFutureOptionSecurity security = ExposureFunctionTestHelper.getEnergyFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = exposureFunction.getIds(trade); assertNull(ids); } @Test public void testEnergyFutureSecurity() { final EnergyFutureSecurity future = ExposureFunctionTestHelper.getEnergyFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityBarrierOptionSecurity() { final EquityBarrierOptionSecurity security = ExposureFunctionTestHelper.getEquityBarrierOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityFutureSecurity() { final EquityFutureSecurity future = ExposureFunctionTestHelper.getEquityFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityIndexDividendFutureSecurity() { final SecuritySource securitySource = ExposureFunctionTestHelper.getSecuritySource(null); final EquityIndexDividendFutureSecurity future = ExposureFunctionTestHelper.getEquityIndexDividendFutureSecurity(); final ExposureFunction exposureFunction = new UnderlyingExposureFunction(securitySource); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = exposureFunction.getIds(trade); assertNull(ids); } @Test public void testEquitySecurity() { final EquitySecurity security = ExposureFunctionTestHelper.getEquitySecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testFRASecurity() { final FRASecurity fra = ExposureFunctionTestHelper.getFRASecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(fra); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(fra.getUnderlyingId(), ids.get(0)); } @Test public void testFXFutureOptionSecurity() { final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity(); final SecuritySource securitySource = ExposureFunctionTestHelper.getSecuritySource(future); final ExposureFunction exposureFunction = new UnderlyingExposureFunction(securitySource); final FxFutureOptionSecurity security = ExposureFunctionTestHelper.getFXFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = exposureFunction.getIds(trade); assertNull(ids); } @Test public void testFXFutureSecurity() { final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testIndexFutureSecurity() { final IndexFutureSecurity future = ExposureFunctionTestHelper.getIndexFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testInterestRateFutureSecurity() { final InterestRateFutureSecurity future = ExposureFunctionTestHelper.getInterestRateFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("USD 3m Libor"), ids.get(0)); } @Test public void testFederalFundsFutureSecurity() { final FederalFundsFutureSecurity future = ExposureFunctionTestHelper.getFederalFundsFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("Fed Funds"), ids.get(0)); } @Test public void testMetalFutureSecurity() { final MetalFutureSecurity future = ExposureFunctionTestHelper.getMetalFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testStockFutureSecurity() { final StockFutureSecurity future = ExposureFunctionTestHelper.getStockFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(future); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testAgricultureForwardSecurity() { final AgricultureForwardSecurity security = ExposureFunctionTestHelper.getAgricultureForwardSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testCreditDefaultSwapIndexSecurity() { final CreditDefaultSwapIndexSecurity security = ExposureFunctionTestHelper.getCreditDefaultSwapIndexSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testCreditDefaultSwapOptionSecurity() { final CreditDefaultSwapOptionSecurity security = ExposureFunctionTestHelper.getCreditDefaultSwapOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testDeliverableSwapSecurity() { final DeliverableSwapFutureSecurity security = ExposureFunctionTestHelper.getDeliverableSwapFutureSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEnergyForwardSecurity() { final EnergyForwardSecurity security = ExposureFunctionTestHelper.getEnergyForwardSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityIndexDividendFutureOptionSecurity() { final EquityIndexDividendFutureOptionSecurity security = ExposureFunctionTestHelper.getEquityIndexDividendFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityIndexFutureOptionSecurity() { final EquityIndexFutureOptionSecurity security = ExposureFunctionTestHelper.getEquityIndexFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityIndexOptionSecurity() { final EquityIndexOptionSecurity security = ExposureFunctionTestHelper.getEquityIndexOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityOptionSecurity() { final EquityOptionSecurity security = ExposureFunctionTestHelper.getEquityOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testEquityVarianceSwapSecurity() { final EquityVarianceSwapSecurity security = ExposureFunctionTestHelper.getEquityVarianceSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testFixedFloatSwapSecurity() { SwapSecurity security = ExposureFunctionTestHelper.getPayFixedFloatSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); security = ExposureFunctionTestHelper.getReceiveFixedFloatSwapSecurity(); trade = ExposureFunctionTestHelper.getTrade(security); ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); } @Test public void testFloatFloatSwapSecurity() { final SwapSecurity security = ExposureFunctionTestHelper.getFloatFloatSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("6m Euribor" + ExposureFunction.SEPARATOR + "3m Euribor"), ids.get(0)); } @Test public void testForwardFixedFloatSwapSecurity() { ForwardSwapSecurity security = ExposureFunctionTestHelper.getPayForwardFixedFloatSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); security = ExposureFunctionTestHelper.getReceiveForwardFixedFloatSwapSecurity(); trade = ExposureFunctionTestHelper.getTrade(security); ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); } @Test public void testForwardFloatFloatSwapSecurity() { final ForwardSwapSecurity security = ExposureFunctionTestHelper.getForwardFloatFloatSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("6m Euribor" + ExposureFunction.SEPARATOR + "3m Euribor"), ids.get(0)); } @Test public void testForwardXCcySwapSecurity() { final ForwardSwapSecurity security = ExposureFunctionTestHelper.getForwardXCcySwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertTrue(ids.get(0).equals(ExternalSchemes.syntheticSecurityId("3m USD Libor" + ExposureFunction.SEPARATOR + "6m Euribor")) || ids.get(0).equals(ExternalSchemes.syntheticSecurityId("6m Euribor" + ExposureFunction.SEPARATOR + "3m USD Libor"))); } @Test public void testFXBarrierOptionSecurity() { final FXBarrierOptionSecurity security = ExposureFunctionTestHelper.getFXBarrierOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testFXDigitalOptionSecurity() { final FXDigitalOptionSecurity security = ExposureFunctionTestHelper.getFXDigitalOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testFXForwardSecurity() { final FXForwardSecurity security = ExposureFunctionTestHelper.getFXForwardSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testFXOptionSecurity() { final FXOptionSecurity security = ExposureFunctionTestHelper.getFXOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testGovernmentBondSecurity() { final GovernmentBondSecurity security = ExposureFunctionTestHelper.getGovernmentBondSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testInterestRateFutureOptionSecurity() { final IRFutureOptionSecurity security = ExposureFunctionTestHelper.getInterestRateFutureOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testLegacyFixedRecoveryCDSSecurity() { final LegacyFixedRecoveryCDSSecurity security = ExposureFunctionTestHelper.getLegacyFixedRecoveryCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testLegacyRecoveryLockCDSSecurity() { final LegacyRecoveryLockCDSSecurity security = ExposureFunctionTestHelper.getLegacyRecoveryLockCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testLegacyVanillaCDSSecurity() { final LegacyVanillaCDSSecurity security = ExposureFunctionTestHelper.getLegacyVanillaCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testMetalForwardSecurity() { final MetalForwardSecurity security = ExposureFunctionTestHelper.getMetalForwardSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testMunicipalBondSecurity() { final MunicipalBondSecurity security = ExposureFunctionTestHelper.getMunicipalBondSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testNonDeliverableFXDigitalOptionSecurity() { final NonDeliverableFXDigitalOptionSecurity security = ExposureFunctionTestHelper.getNonDeliverableFXDigitalOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testNonDeliverableFXForwardSecurity() { final NonDeliverableFXForwardSecurity security = ExposureFunctionTestHelper.getNonDeliverableFXForwardSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testNonDeliverableFXOptionSecurity() { final NonDeliverableFXOptionSecurity security = ExposureFunctionTestHelper.getNonDeliverableFXOptionSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testPeriodicZeroDepositSecurity() { final PeriodicZeroDepositSecurity security = ExposureFunctionTestHelper.getPeriodicZeroDepositSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testSimpleZeroDepositSecurity() { final SimpleZeroDepositSecurity security = ExposureFunctionTestHelper.getSimpleZeroDepositSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testStandardFixedRecoveryCDSSecurity() { final StandardFixedRecoveryCDSSecurity security = ExposureFunctionTestHelper.getStandardFixedRecoveryCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testStandardRecoveryLockCDSSecurity() { final StandardRecoveryLockCDSSecurity security = ExposureFunctionTestHelper.getStandardRecoveryLockCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testStandardVanillaCDSSecurity() { final StandardVanillaCDSSecurity security = ExposureFunctionTestHelper.getStandardVanillaCDSSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } @Test public void testSwaptionSecurity() { SwapSecurity underlying = ExposureFunctionTestHelper.getPayFixedFloatSwapSecurity(); SwaptionSecurity security = ExposureFunctionTestHelper.getPaySwaptionSecurity(); UnderlyingExposureFunction underlyingExposureFunction = new UnderlyingExposureFunction(ExposureFunctionTestHelper.getSecuritySource(underlying)); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = underlyingExposureFunction.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); underlying = ExposureFunctionTestHelper.getReceiveFixedFloatSwapSecurity(); security = ExposureFunctionTestHelper.getPaySwaptionSecurity(); trade = ExposureFunctionTestHelper.getTrade(security); ids = underlyingExposureFunction.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m Euribor"), ids.get(0)); } @Test public void testXCcySwapSecurity() { final SwapSecurity security = ExposureFunctionTestHelper.getXCcySwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("3m USD Libor" + ExposureFunction.SEPARATOR + "3m Euribor"), ids.get(0)); } @Test public void testPayYoYInflationSwapSecurity() { final YearOnYearInflationSwapSecurity security = ExposureFunctionTestHelper.getPayYoYInflationSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("CPI"), ids.get(0)); } @Test public void testReceiveYoYInflationSwapSecurity() { final YearOnYearInflationSwapSecurity security = ExposureFunctionTestHelper.getPayYoYInflationSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("CPI"), ids.get(0)); } @Test public void testPayZeroCouponInflationSwapSecurity() { final ZeroCouponInflationSwapSecurity security = ExposureFunctionTestHelper.getPayZeroCouponInflationSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("CPI"), ids.get(0)); } @Test public void testReceiveZeroCouponInflationSwapSecurity() { final ZeroCouponInflationSwapSecurity security = ExposureFunctionTestHelper.getReceiveZeroCouponInflationSwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertEquals(1, ids.size()); assertEquals(ExternalSchemes.syntheticSecurityId("CPI"), ids.get(0)); } @Test public void testFXVolatilitySwapSecurity() { final FXVolatilitySwapSecurity security = ExposureFunctionTestHelper.getFXVolatilitySwapSecurity(); Trade trade = ExposureFunctionTestHelper.getTrade(security); List<ExternalId> ids = EXPOSURE_FUNCTION.getIds(trade); assertNull(ids); } }