/** * 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 static org.testng.AssertJUnit.assertTrue; import org.testng.annotations.Test; import org.threeten.bp.Period; 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; /** * Test. */ @Test(groups = TestGroup.UNIT) public class GeneratorSwapIborCompoundedIborTest { private static final Calendar NYC = new MondayToFridayCalendar("NYC"); private static final IndexIborMaster IBOR_MASTER = IndexIborMaster.getInstance(); private static final IborIndex USDLIBOR3M = IBOR_MASTER.getIndex("USDLIBOR3M"); private static final IborIndex USDLIBOR6M = IBOR_MASTER.getIndex("USDLIBOR6M"); private static final Period CMP_PERIOD = Period.ofMonths(6); private static final String NAME = "USD6MLIBOR3MLIBOR6M"; private static final GeneratorSwapIborCompoundingIbor USD6MLIBOR3MLIBOR6M = new GeneratorSwapIborCompoundingIbor(NAME, USDLIBOR3M, CMP_PERIOD, USDLIBOR6M, NYC, NYC); @Test /** * Tests the getter for the swap generator. */ public void getter() { assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR3M, USD6MLIBOR3MLIBOR6M.getIborIndex1()); assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR6M, USD6MLIBOR3MLIBOR6M.getIborIndex2()); assertTrue("GeneratorSwapIborIbor: getter", USD6MLIBOR3MLIBOR6M.getName().equals(NAME)); assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR6M.getBusinessDayConvention(), USD6MLIBOR3MLIBOR6M.getBusinessDayConvention()); assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR6M.getSpotLag(), USD6MLIBOR3MLIBOR6M.getSpotLag()); assertTrue("GeneratorSwapIborIbor: getter", USDLIBOR6M.isEndOfMonth() == USD6MLIBOR3MLIBOR6M.isEndOfMonth()); assertEquals("GeneratorSwapIborIbor: getter", CMP_PERIOD, USD6MLIBOR3MLIBOR6M.getCompoundingPeriod1()); } @Test /** * Tests the constructor with business day convention and end-of-month. */ public void constructor() { final GeneratorSwapIborCompoundingIbor generator2 = new GeneratorSwapIborCompoundingIbor("Generator 2", USDLIBOR3M, CMP_PERIOD, USDLIBOR6M, BusinessDayConventions.FOLLOWING, false, 1, NYC, NYC); assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR3M, generator2.getIborIndex1()); assertEquals("GeneratorSwapIborIbor: getter", USDLIBOR6M, generator2.getIborIndex2()); assertTrue("GeneratorSwapIborIbor: getter", generator2.getName().equals("Generator 2")); assertEquals("GeneratorSwapIborIbor: getter", BusinessDayConventions.FOLLOWING, generator2.getBusinessDayConvention()); assertTrue("GeneratorSwapIborIbor: getter", generator2.isEndOfMonth() == false); assertEquals("GeneratorSwapIborIbor: getter", generator2.getSpotLag(), 1); assertEquals("GeneratorSwapIborIbor: getter", CMP_PERIOD, generator2.getCompoundingPeriod1()); } }