/*
* ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit.
*
* Based in London, we are world leaders in the design and development
* of bespoke applications for the securities financing markets.
*
* <a href="http://www.objectlab.co.uk/open">Click here to learn more</a>
* ___ _ _ _ _ _
* / _ \| |__ (_) ___ ___| |_| | __ _| |__
* | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \
* | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |
* \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
* |__/
*
* www.ObjectLab.co.uk
*
* $Id$
*
* Copyright 2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package net.objectlab.kit.datecalc.common;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Set;
import junit.framework.Assert;
public abstract class AbstractModifiedPreceedingDateCalculatorTest<E extends Serializable> extends AbstractDateTestCase<E> {
public void testSimpleForwardWithWeekend() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getHolidayCalendar().getHolidays().size());
final E startDate = newDate("2006-08-01");
cal.setStartDate(startDate);
checkDate("Move by 0 days", cal.moveByDays(0), "2006-08-01");
checkDate("Move by 1 days", cal.moveByDays(1), "2006-08-02");
checkDate("Move by 1 more days", cal.moveByDays(1), "2006-08-03");
checkDate("Move by 1 more more days", cal.moveByDays(1), "2006-08-04");
checkDate("Move by 1 more more more days (across weekend)", cal.moveByDays(1), "2006-08-04");
}
public void testSimpleForwardStartDateWithWeekend() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getHolidayCalendar().getHolidays().size());
cal.setStartDate(newDate("2006-07-31")); // start date Monday
checkDate("start date Monday", cal, "2006-07-31");
cal.setStartDate(newDate("2006-08-01")); // start date Tuesday
checkDate("start date Tuesday", cal, "2006-08-01");
cal.setStartDate(newDate("2006-08-02")); // start date Wednesday
checkDate("start date Wednesday", cal, "2006-08-02");
cal.setStartDate(newDate("2006-08-03")); // start date Thursday
checkDate("start date Thursday", cal, "2006-08-03");
cal.setStartDate(newDate("2006-08-04")); // set on a Friday
checkDate("start date friday", cal, "2006-08-04");
cal.setStartDate(newDate("2006-08-05")); // set on a Saturday
checkDate("start date Saturday", cal, "2006-08-04");
cal.setStartDate(newDate("2006-08-06")); // set on a Sunday
checkDate("start date Sunday", cal, "2006-08-04");
}
public void testSimpleForwardStartDateNoWeekend() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
final WorkingWeek ww = new WorkingWeek().withWorkingDayFromCalendar(true, Calendar.SATURDAY).withWorkingDayFromCalendar(true,
Calendar.SUNDAY);
cal.setWorkingWeek(getWorkingWeek(ww));
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getHolidayCalendar().getHolidays().size());
cal.setStartDate(newDate("2006-07-31")); // start date Monday
checkDate("start date Monday", cal, "2006-07-31");
cal.setStartDate(newDate("2006-08-01")); // start date Tuesday
checkDate("start date Tuesday", cal, "2006-08-01");
cal.setStartDate(newDate("2006-08-02")); // start date Wednesday
checkDate("start date Wednesday", cal, "2006-08-02");
cal.setStartDate(newDate("2006-08-03")); // start date Thursday
checkDate("start date Thursday", cal, "2006-08-03");
cal.setStartDate(newDate("2006-08-04")); // set on a Friday
checkDate("start date friday", cal, "2006-08-04");
cal.setStartDate(newDate("2006-08-05")); // set on a Saturday
checkDate("start date Saturday", cal, "2006-08-05");
cal.setStartDate(newDate("2006-08-06")); // set on a Sunday
checkDate("start date Sunday", cal, "2006-08-06");
}
public void testSimpleForwardStartDateWhackyWeek() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getHolidayCalendar().getHolidays().size());
final WorkingWeek ww = new WorkingWeek().withWorkingDayFromCalendar(false, Calendar.MONDAY).withWorkingDayFromCalendar(true, Calendar.TUESDAY)
.withWorkingDayFromCalendar(false, Calendar.WEDNESDAY).withWorkingDayFromCalendar(true, Calendar.THURSDAY)
.withWorkingDayFromCalendar(false, Calendar.FRIDAY).withWorkingDayFromCalendar(true, Calendar.SATURDAY)
.withWorkingDayFromCalendar(false, Calendar.SUNDAY);
cal.setWorkingWeek(getWorkingWeek(ww));
cal.setStartDate(newDate("2006-07-31")); // start date Monday
checkDate("start date Monday", cal, "2006-07-29");
cal.setStartDate(newDate("2006-08-01")); // start date Tuesday
checkDate("start date Tuesday", cal, "2006-08-01");
cal.setStartDate(newDate("2006-08-02")); // start date Wednesday
checkDate("start date Wednesday", cal, "2006-08-01");
cal.setStartDate(newDate("2006-08-03")); // start date Thursday
checkDate("start date Thursday", cal, "2006-08-03");
cal.setStartDate(newDate("2006-08-04")); // set on a Friday
checkDate("start date friday", cal, "2006-08-03");
cal.setStartDate(newDate("2006-08-05")); // set on a Saturday
checkDate("start date Saturday", cal, "2006-08-05");
cal.setStartDate(newDate("2006-08-06")); // set on a Sunday
checkDate("start date Sunday", cal, "2006-08-05");
}
public void testSimpleForwardStartDateIdealWeekend() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getHolidayCalendar().getHolidays().size());
final WorkingWeek ww = new WorkingWeek().withWorkingDayFromCalendar(false, Calendar.MONDAY).withWorkingDayFromCalendar(true, Calendar.TUESDAY)
.withWorkingDayFromCalendar(true, Calendar.WEDNESDAY).withWorkingDayFromCalendar(true, Calendar.THURSDAY)
.withWorkingDayFromCalendar(true, Calendar.FRIDAY).withWorkingDayFromCalendar(false, Calendar.SATURDAY)
.withWorkingDayFromCalendar(false, Calendar.SUNDAY);
cal.setWorkingWeek(getWorkingWeek(ww));
cal.setStartDate(newDate("2006-07-31")); // start date Monday
checkDate("start date Monday", cal, "2006-07-28");
cal.setStartDate(newDate("2006-08-01")); // start date Tuesday
checkDate("start date Tuesday", cal, "2006-08-01");
cal.setStartDate(newDate("2006-08-02")); // start date Wednesday
checkDate("start date Wednesday", cal, "2006-08-02");
cal.setStartDate(newDate("2006-08-03")); // start date Thursday
checkDate("start date Thursday", cal, "2006-08-03");
cal.setStartDate(newDate("2006-08-04")); // set on a Friday
checkDate("start date friday", cal, "2006-08-04");
cal.setStartDate(newDate("2006-08-05")); // set on a Saturday
checkDate("start date Saturday", cal, "2006-08-04");
cal.setStartDate(newDate("2006-08-06")); // set on a Sunday
checkDate("start date Sunday", cal, "2006-08-04");
}
// -----------------------------------------------------------------------
//
// ObjectLab, world leaders in the design and development of bespoke
// applications for the securities financing markets.
// www.ObjectLab.co.uk
//
// -----------------------------------------------------------------------
public void testSimpleForwardWithHolidays() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
final HolidayCalendar<E> holidays = newHolidaysCalendar();
Assert.assertEquals("Name", "bla", cal.getName());
cal.setHolidayCalendar(holidays);
Assert.assertEquals("Holidays", holidays.getHolidays(), cal.getHolidayCalendar().getHolidays());
Assert.assertEquals("Holidays size", 3, cal.getHolidayCalendar().getHolidays().size());
Assert.assertTrue("contains", holidays.isHoliday(newDate("2006-08-28")));
Assert.assertTrue("contains", cal.getHolidayCalendar().isHoliday(newDate("2006-08-28")));
cal.setStartDate(newDate("2006-08-28"));
checkDate("Move given Bank Holiday", cal, "2006-08-25");
cal.setStartDate(newDate("2006-12-24"));
checkDate("Xmas Eve", cal, "2006-12-22");
cal.setStartDate(newDate("2006-12-21"));
checkDate("21/12 + 1", cal.moveByDays(1), "2006-12-22");
cal.setStartDate(newDate("2006-12-21"));
checkDate("21/12 + 1", cal.moveByDays(2), "2006-12-22");
cal.setStartDate(newDate("2006-12-22"));
checkDate("22/12 + 1", cal.moveByDays(1), "2006-12-22");
cal.setStartDate(newDate("2006-12-23"));
checkDate("23/12 + 1", cal.moveByDays(1), "2006-12-22");
}
/**
* How to handle moveByBusDays if it moves backwards...
*
*/
public void testMoveByBusinessDays() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
final HolidayCalendar<E> holidays = newHolidaysCalendar();
Assert.assertEquals("Name", "bla", cal.getName());
cal.setHolidayCalendar(holidays);
Assert.assertEquals("Holidays", holidays.getHolidays(), cal.getHolidayCalendar().getHolidays());
Assert.assertEquals("Holidays size", 3, cal.getHolidayCalendar().getHolidays().size());
// cal.setStartDate(newDate("2006-08-24"));
// checkDate("Move 1 BD", cal.moveByBusinessDays(1), "2006-08-25");
cal.setStartDate(newDate("2006-08-24"));
try {
cal.moveByBusinessDays(7);
fail("Should have thrown exception");
} catch (final IllegalArgumentException e) {
// ok
}
// checkDate("Add 1 week", cal.moveByDays(7), "2006-08-31");
// cal.setStartDate(newDate("2006-08-24"));
// checkDate("Move by 1W with 1 bank holiday",
// cal.moveByBusinessDays(7), "2006-09-05");
}
public void testAddAcrossMonth() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEDING);
cal.setStartDate(newDate("2006-08-02"));
cal.moveByDays(-1);
checkDate("1/8", cal, "2006-08-01");
cal.moveByDays(-1);
checkDate("do move to next month", cal, "2006-07-31");
// now if it due to roll over:
cal.setStartDate(newDate("2006-08-02"));
final Set<E> holidays = newHolidaysSet();
holidays.clear();
holidays.add(newDate("2006-08-01"));
cal.setHolidayCalendar(new DefaultHolidayCalendar<E>(holidays));
cal.moveByDays(-1);
checkDate("do NOT move to next month", cal, "2006-08-02");
}
/* public void testMoveByTenorDays() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 0, "2006-08-09", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 0, "2006-08-10", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(10, TenorCode.DAY), 0, "2006-08-18", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(11, TenorCode.DAY), 0, "2006-08-18", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(12, TenorCode.DAY), 0, "2006-08-18", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(13, TenorCode.DAY), 0, "2006-08-21", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-09-26", new Tenor(4, TenorCode.DAY), 0, "2006-09-29", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorDaysOneDayToSpot() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 1, "2006-08-10", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 1, "2006-08-11", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 1, "2006-08-18", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorDaysTwoDaysToSpot() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 2, "2006-08-11", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 2, "2006-08-14", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 2, "2006-08-22", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorWeek() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 0, "2006-08-15", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 0, "2006-08-22", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 0, "2006-09-05", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorWeekOneDayToSpot() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 1, "2006-08-16", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 1, "2006-08-23", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 1, "2006-09-06", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorWeekTwoDaysToSpot() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 2, "2006-08-17", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 2, "2006-08-24", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 2, "2006-09-07", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorMonth() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 0, "2006-09-29", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 0, "2006-10-31", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 0, "2006-02-28", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 0, "2008-02-29", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 0, "2006-10-06", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 0, "2007-01-08", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorMonthOneDayToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 1, "2006-10-02", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-03-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 1, "2007-01-09", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorMonthTwoDaysToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 2, "2006-10-02", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-03-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 2, "2007-01-10", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorYear() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 0, "2007-08-31", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 0, "2008-08-29", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 0, "2009-02-27", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 0, "2012-02-29", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorYearOneDayToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 1, "2007-09-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 1, "2008-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 1, "2009-03-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 1, "2012-03-02", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorYearTwoDaysToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 2, "2007-09-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 2, "2008-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 2, "2009-03-03", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 2, "2012-03-02", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 0, "2006-08-31", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorSpotOneDayToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorSpotTwoDaysToSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 2, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorOvernight() {
checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 0, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorOvernightOneDayToSpot() {
checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
public void testMoveByTenorOvernightTwoDaysToSpot() {
checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 2, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEDING);
checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEDING);
}
*/
}
/*
* ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit.
*
* Based in London, we are world leaders in the design and development
* of bespoke applications for the securities financing markets.
*
* <a href="http://www.objectlab.co.uk/open">Click here to learn more about us</a>
* ___ _ _ _ _ _
* / _ \| |__ (_) ___ ___| |_| | __ _| |__
* | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \
* | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |
* \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
* |__/
*
* www.ObjectLab.co.uk
*/