/** * Copyright (C) 2012 - 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.util.test.TestGroup; /** * Tests related to the construction of Ibor/ON generators. */ @Test(groups = TestGroup.UNIT) public class GeneratorIborONTest { private static final Calendar NYC = new MondayToFridayCalendar("NYC"); private static final IndexON FEDFUND = IndexONMaster.getInstance().getIndex("FED FUND"); private static final IborIndex USDLIBOR3M = IndexIborMaster.getInstance().getIndex("USDLIBOR3M"); private static final String USD_NAME = "USDLIBOR3MFEDFUND"; private static final BusinessDayConvention USD_BUSINESS_DAY = BusinessDayConventions.MODIFIED_FOLLOWING; private static final boolean USD_IS_EOM = true; private static final int USD_SPOT_LAG = 2; private static final GeneratorSwapIborON USDLIBOR3MFEDFUND = new GeneratorSwapIborON(USD_NAME, USDLIBOR3M, FEDFUND, USD_BUSINESS_DAY, USD_IS_EOM, USD_SPOT_LAG, NYC, NYC); @Test(expectedExceptions = IllegalArgumentException.class) public void nullName() { new GeneratorSwapIborON(null, USDLIBOR3M, FEDFUND, USD_BUSINESS_DAY, USD_IS_EOM, USD_SPOT_LAG, NYC, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullIbor() { new GeneratorSwapIborON(USD_NAME, null, FEDFUND, USD_BUSINESS_DAY, USD_IS_EOM, USD_SPOT_LAG, NYC, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullON() { new GeneratorSwapIborON(USD_NAME, USDLIBOR3M, null, USD_BUSINESS_DAY, USD_IS_EOM, USD_SPOT_LAG, NYC, NYC); } @Test(expectedExceptions = IllegalArgumentException.class) public void nullBusDay() { new GeneratorSwapIborON(USD_NAME, USDLIBOR3M, FEDFUND, null, USD_IS_EOM, USD_SPOT_LAG, NYC, NYC); } @Test /** * Tests the getters. */ public void getter() { assertEquals("Generator Ibor/ON: getter", USD_NAME, USDLIBOR3MFEDFUND.getName()); assertEquals("Generator Ibor/ON: getter", USDLIBOR3M, USDLIBOR3MFEDFUND.getIndexIbor()); assertEquals("Generator Ibor/ON: getter", FEDFUND, USDLIBOR3MFEDFUND.getIndexON()); assertEquals("Generator Ibor/ON: getter", USD_BUSINESS_DAY, USDLIBOR3MFEDFUND.getBusinessDayConvention()); assertEquals("Generator Ibor/ON: getter", USD_IS_EOM, USDLIBOR3MFEDFUND.isEndOfMonth()); assertEquals("Generator Ibor/ON: getter", USD_SPOT_LAG, USDLIBOR3MFEDFUND.getSpotLag()); assertEquals("Generator Ibor/ON: getter", USD_SPOT_LAG, USDLIBOR3MFEDFUND.getPaymentLag()); } }