/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.instrument.index; import static org.testng.AssertJUnit.assertEquals; import org.testng.annotations.Test; import com.opengamma.financial.convention.businessday.BusinessDayConvention; import com.opengamma.financial.convention.businessday.BusinessDayConventions; import com.opengamma.financial.convention.calendar.Calendar; import com.opengamma.financial.convention.calendar.MondayToFridayCalendar; import com.opengamma.financial.convention.daycount.DayCount; import com.opengamma.util.test.TestGroup; /** * Test. */ @Test(groups = TestGroup.UNIT) public class GeneratorSwapFixedCompoundedONCompoundedTest { private static final Calendar NYC = new MondayToFridayCalendar("NYC"); private static final IndexON INDEX_CDI = IndexONMaster.getInstance().getIndex("CDI"); private static final String BRL_NAME = "BRLCDI"; private static final DayCount BRL_DAYCOUNT_FIXED = INDEX_CDI.getDayCount(); private static final BusinessDayConvention BRL_BUSINESS_DAY = BusinessDayConventions.MODIFIED_FOLLOWING; private static final boolean BRl_IS_EOM = true; private static final int BRL_SPOT_LAG = 2; private static final GeneratorSwapFixedCompoundedONCompounded USD_GENERATOR_OIS = new GeneratorSwapFixedCompoundedONCompounded(BRL_NAME, INDEX_CDI, BRL_DAYCOUNT_FIXED, BRL_BUSINESS_DAY, BRl_IS_EOM, BRL_SPOT_LAG, NYC); @Test(expectedExceptions = IllegalArgumentException.class) public void nullCurrency() { new GeneratorSwapFixedCompoundedONCompounded(null, INDEX_CDI, BRL_DAYCOUNT_FIXED, BRL_BUSINESS_DAY, BRl_IS_EOM, BRL_SPOT_LAG, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullDayCount() { new GeneratorSwapFixedCompoundedONCompounded(BRL_NAME, INDEX_CDI, null, BRL_BUSINESS_DAY, BRl_IS_EOM, BRL_SPOT_LAG, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullBusinessDay() { new GeneratorSwapFixedCompoundedONCompounded(BRL_NAME, INDEX_CDI, BRL_DAYCOUNT_FIXED, null, BRl_IS_EOM, BRL_SPOT_LAG, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullIndex() { new GeneratorSwapFixedCompoundedONCompounded(BRL_NAME, null, BRL_DAYCOUNT_FIXED, BRL_BUSINESS_DAY, BRl_IS_EOM, BRL_SPOT_LAG, NYC); } @Test /** * Tests the getters. */ public void getter() { assertEquals("Generator ON Compounded: getter", BRL_NAME, USD_GENERATOR_OIS.getName()); assertEquals("Generator ON Compounded: getter", BRL_DAYCOUNT_FIXED, USD_GENERATOR_OIS.getFixedLegDayCount()); assertEquals("Generator ON Compounded: getter", BRL_BUSINESS_DAY, USD_GENERATOR_OIS.getBusinessDayConvention()); assertEquals("Generator ON Compounded: getter", BRl_IS_EOM, USD_GENERATOR_OIS.isEndOfMonth()); assertEquals("Generator ON Compounded: getter", INDEX_CDI, USD_GENERATOR_OIS.getIndex()); assertEquals("Generator ON Compounded: getter", BRL_SPOT_LAG, USD_GENERATOR_OIS.getSpotLag()); } @Test /** * Tests the standard USD OIS builders. */ public void usdStandard() { final GeneratorSwapFixedCompoundedONCompounded brlStandard = GeneratorSwapFixedCompoundedONCompoundedMaster.getInstance().getGenerator("BRLCDI", NYC); assertEquals("Generator ON Compounded: standard", BRL_NAME, brlStandard.getName()); assertEquals("Generator ON Compounded: standard", BRL_BUSINESS_DAY, brlStandard.getBusinessDayConvention()); assertEquals("Generator ON Compounded: standard", BRl_IS_EOM, brlStandard.isEndOfMonth()); assertEquals("Generator ON Compounded: standard", INDEX_CDI, brlStandard.getIndex()); } }