/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.convention.expirycalc; import static org.testng.AssertJUnit.assertEquals; import org.testng.annotations.Test; import org.threeten.bp.LocalDate; 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 GoldFutureOptionExpiryCalculatorTest { private static final GoldFutureOptionExpiryCalculator EXPIRY_CALC = GoldFutureOptionExpiryCalculator.getInstance(); static final Calendar WEEKEND_CALENDAR = new MondayToFridayCalendar("weekday"); private static final LocalDate DATE = LocalDate.of(2013, 1, 1); @Test public void getExpiryDate() { assertEquals(LocalDate.of(2013, 2, 25), EXPIRY_CALC.getExpiryDate(1, DATE, WEEKEND_CALENDAR)); assertEquals(LocalDate.of(2013, 3, 26), EXPIRY_CALC.getExpiryDate(2, DATE, WEEKEND_CALENDAR)); //Good friday not in weekday calendar assertEquals(LocalDate.of(2013, 5, 28), EXPIRY_CALC.getExpiryDate(3, DATE, WEEKEND_CALENDAR)); assertEquals(LocalDate.of(2013, 7, 25), EXPIRY_CALC.getExpiryDate(4, DATE, WEEKEND_CALENDAR)); assertEquals(LocalDate.of(2013, 9, 25), EXPIRY_CALC.getExpiryDate(5, DATE, WEEKEND_CALENDAR)); assertEquals(LocalDate.of(2013, 11, 26), EXPIRY_CALC.getExpiryDate(6, DATE, WEEKEND_CALENDAR)); // thanksgiving } }