@Override public LocalDate calculateReferenceDateFromTradeDate( LocalDate tradeDate, YearMonth yearMonth, ReferenceData refData) { LocalDate referenceDate = dateSequence.dateMatching(yearMonth); return businessDayAdjustment.adjust(referenceDate, refData); }
public void test_QUARTERLY_IMM() { DateSequence test = DateSequences.QUARTERLY_IMM; assertEquals(test.getName(), "Quarterly-IMM"); assertEquals(test.toString(), "Quarterly-IMM"); assertEquals(test.dateMatching(YearMonth.of(2013, 3)), LocalDate.of(2013, 3, 20)); }
@Test(dataProvider = "quarterly10th") public void test_nextOrSameQuarterly10th(LocalDate base, LocalDate expect1, LocalDate expect2, LocalDate expect3) { LocalDate date = base.plusDays(1); while (!date.isAfter(expect1)) { assertEquals(DateSequences.QUARTERLY_10TH.nextOrSame(date), expect1); assertEquals(DateSequences.QUARTERLY_10TH.nthOrSame(date, 1), expect1); assertEquals(DateSequences.QUARTERLY_10TH.nthOrSame(date, 2), expect2); assertEquals(DateSequences.QUARTERLY_10TH.nthOrSame(date, 3), expect3); date = date.plusDays(1); } assertEquals(DateSequences.QUARTERLY_10TH.dateMatching(YearMonth.from(date)), expect1); }
@Test(dataProvider = "monthlyImm") public void test_nextOrSameMonthlyImm(LocalDate base, LocalDate immDate1, LocalDate immDate2, LocalDate immDate3) { LocalDate date = base.plusDays(1); while (!date.isAfter(immDate1)) { assertEquals(DateSequences.MONTHLY_IMM.nextOrSame(date), immDate1); assertEquals(DateSequences.MONTHLY_IMM.nthOrSame(date, 1), immDate1); assertEquals(DateSequences.MONTHLY_IMM.nthOrSame(date, 2), immDate2); assertEquals(DateSequences.MONTHLY_IMM.nthOrSame(date, 3), immDate3); date = date.plusDays(1); } assertEquals(DateSequences.MONTHLY_IMM.dateMatching(YearMonth.from(date)), immDate1); }
@Test(dataProvider = "quarterlyImm") public void test_nextOrSameQuarterlyImm(LocalDate base, LocalDate immDate1, LocalDate immDate2, LocalDate immDate3) { LocalDate date = base.plusDays(1); while (!date.isAfter(immDate1)) { assertEquals(DateSequences.QUARTERLY_IMM.nextOrSame(date), immDate1); assertEquals(DateSequences.QUARTERLY_IMM.nthOrSame(date, 1), immDate1); assertEquals(DateSequences.QUARTERLY_IMM.nthOrSame(date, 2), immDate2); assertEquals(DateSequences.QUARTERLY_IMM.nthOrSame(date, 3), immDate3); date = date.plusDays(1); } assertEquals(DateSequences.QUARTERLY_IMM.dateMatching(YearMonth.from(date)), immDate1); }