package com.opengamma.financial.analytics.volatility.surface; import static org.testng.AssertJUnit.assertEquals; import org.testng.annotations.Test; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.financial.analytics.volatility.surface.BloombergFXOptionVolatilitySurfaceInstrumentProvider.FXVolQuoteType; import com.opengamma.id.ExternalId; import com.opengamma.util.test.TestGroup; import com.opengamma.util.time.Tenor; import com.opengamma.util.tuple.Pairs; /** * Test. */ @Test(groups = TestGroup.UNIT) public class TullettPrebonFXOptionVolatilitySurfaceInstrumentProviderTest { public void testFXOptionVolatilitySurfaceInstrumentProvider() { TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider provider = new TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider("FV", "USDZAR", "Market_Value"); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV2DBUSDZAR02M"), provider.getInstrument(Tenor.ofMonths(2), Pairs.of((Number)25, FXVolQuoteType.BUTTERFLY))); provider = new TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider("FV", "USDTRY", "Market_Value"); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV1DBUSDTRY24M"), provider.getInstrument(Tenor.ofYears(2), Pairs.of((Number)10, FXVolQuoteType.BUTTERFLY))); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV1DBUSDTRY24M"), provider.getInstrument(Tenor.ofMonths(24), Pairs.of((Number)10, FXVolQuoteType.BUTTERFLY))); provider = new TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider("FV", "EURRUB", "Market_Value"); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV1DREURRUB12M"), provider.getInstrument(Tenor.ofYears(1), Pairs.of((Number)10, FXVolQuoteType.RISK_REVERSAL))); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV1DREURRUB12M"), provider.getInstrument(Tenor.ofMonths(12), Pairs.of((Number)10, FXVolQuoteType.RISK_REVERSAL))); provider = new TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider("FV", "USDPLN", "Market_Value"); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FV2DRUSDPLN05Y"), provider.getInstrument(Tenor.ofYears(5), Pairs.of((Number)25, FXVolQuoteType.RISK_REVERSAL))); provider = new TullettPrebonFXOptionVolatilitySurfaceInstrumentProvider("FV", "USDILS", "Market_Value"); assertEquals(ExternalId.of(ExternalSchemes.SURF, "FVAFVUSDILS03Y"), provider.getInstrument(Tenor.ofYears(3), Pairs.of((Number)0, FXVolQuoteType.ATM))); } }