|
From: <be...@us...> - 2006-09-11 09:24:23
|
Revision: 156
http://svn.sourceforge.net/objectlabkit/?rev=156&view=rev
Author: benoitx
Date: 2006-09-11 02:23:35 -0700 (Mon, 11 Sep 2006)
Log Message:
-----------
Added more tests for Tenor.
Some .classpath etc where referencing non-existing directories.
Modified Paths:
--------------
trunk/.classpath
trunk/datecalc-common/.project
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandlerType.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountBasis.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/StandardTenor.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Tenor.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/TenorCode.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Utils.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/WorkingWeek.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractBackwardDateCalculatorTest.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractForwardDateCalculatorTest.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedFollowingDateCalculatorTest.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedPreceedingDateCalculatorTest.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractPeriodCountCalculatorTest.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarBackwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarForwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarIMMDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarKitCalculatorsFactory.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedFollowingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedPreceedingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarPeriodCountCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateBackwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateIMMDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DatePeriodCountCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/HolidayHandlerYearMonthDayWrapper.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/JodaWorkingWeek.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateBackwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateForwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateIMMDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateKitCalculatorsFactory.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedFollowingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedPreceedingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDatePeriodCountCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayBackwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayForwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayIMMDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayKitCalculatorsFactory.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedFollowingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedPreceedingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayPeriodCountCalculator.java
trunk/datecalc-joda/src/test/java/net/objectlab/kit/datecalc/joda/DateTimeExcelDateUtilTest.java
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/.classpath 2006-09-11 09:23:35 UTC (rev 156)
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry output="datecalc-common/target/classes" kind="src" path="datecalc-common/src/main/java"/>
- <classpathentry output="datecalc-common/target/test-classes" kind="src" path="datecalc-common/src/test/java"/>
- <classpathentry output="datecalc-jdk/target/classes" kind="src" path="datecalc-jdk/src/main/java"/>
- <classpathentry output="datecalc-jdk/target/test-classes" kind="src" path="datecalc-jdk/src/test/java"/>
- <classpathentry output="datecalc-joda/target/classes" kind="src" path="datecalc-joda/src/main/java"/>
- <classpathentry output="datecalc-joda/target/test-classes" kind="src" path="datecalc-joda/src/test/java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/joda-time/joda-time/1.3/joda-time-1.3.jar"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry path="datecalc-common/src/main/java" output="datecalc-common/target/classes" kind="src"/>
+ <classpathentry path="datecalc-common/src/test/java" output="datecalc-common/target/test-classes" kind="src"/>
+ <classpathentry path="datecalc-jdk/src/main/java" output="datecalc-jdk/target/classes" kind="src"/>
+ <classpathentry path="datecalc-jdk/src/test/java" output="datecalc-jdk/target/test-classes" kind="src"/>
+ <classpathentry path="datecalc-joda/src/main/java" output="datecalc-joda/target/classes" kind="src"/>
+ <classpathentry path="datecalc-joda/src/test/java" output="datecalc-joda/target/test-classes" kind="src"/>
+ <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/>
+ <classpathentry path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" kind="var"/>
+ <classpathentry path="M2_REPO/joda-time/joda-time/1.3/joda-time-1.3.jar" kind="var"/>
+ <classpathentry path="" kind="output"/>
</classpath>
Modified: trunk/datecalc-common/.project
===================================================================
--- trunk/datecalc-common/.project 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/.project 2006-09-11 09:23:35 UTC (rev 156)
@@ -1,14 +1,17 @@
-<projectDescription>
- <name>datecalc-common</name>
- <comment>Common Date Calculator methods</comment>
- <projects/>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments/>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>datecalc-common</name>
+ <comment>DateCalc Common library is the library used by both JDK and JODA libraries.</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -34,6 +34,8 @@
* @param <E>
*/
public abstract class AbstractDateCalculator<E> implements DateCalculator<E> {
+ private static final int MONTHS_IN_YEAR = 12;
+
protected static final int DAYS_IN_WEEK = 7;
private String name;
@@ -115,30 +117,37 @@
moveByDays(daysToSpot);
}
int unit = tenor.getUnits();
- if (tenorCode==TenorCode.WEEK) {
+ if (tenorCode == TenorCode.WEEK) {
tenorCode = TenorCode.DAY;
- unit *= DAYS_IN_WEEK;
+ unit *= DAYS_IN_WEEK;
}
-
- if (tenorCode==TenorCode.YEAR) {
+
+ if (tenorCode == TenorCode.YEAR) {
tenorCode = TenorCode.MONTH;
- unit *= 12;
+ unit *= MONTHS_IN_YEAR;
}
+ DateCalculator<E> calc = this;
+
// move by tenor
switch (tenorCode) {
case OVERNIGHT:
- return moveByDays(1);
+ calc = moveByDays(1);
+ break;
case SPOT:
- return this;
+ calc = this;
+ break;
case DAY:
- return moveByDays(unit);
+ calc = moveByDays(unit);
+ break;
case MONTH:
- return moveByMonths(unit);
+ calc = moveByMonths(unit);
+ break;
default:
throw new UnsupportedOperationException("Sorry not yet...");
}
+ return calc;
}
protected abstract DateCalculator<E> moveByMonths(int months);
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -20,11 +20,11 @@
/**
* This will be called to determine whether the date should be moved according
* to the special algorithm used.
- *
+ *
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
* @param <E>
*/
public interface HolidayHandler<E> {
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandlerType.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandlerType.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandlerType.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -23,7 +23,7 @@
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
*/
public final class HolidayHandlerType {
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountBasis.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountBasis.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountBasis.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -17,7 +17,6 @@
*/
package net.objectlab.kit.datecalc.common;
-
/**
* Defines some standard Day Count basis.
*
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -19,7 +19,7 @@
/**
* Interface that defines a financial market way of calculating difference in
- * days, month (or part of) and year (or part of).
+ * days, month (or part of) and year (or part of).
*
* @TODO Improve javadoc.
*
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/StandardTenor.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/StandardTenor.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/StandardTenor.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -23,7 +23,7 @@
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
*/
public final class StandardTenor {
private StandardTenor() {
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Tenor.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Tenor.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Tenor.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -20,11 +20,11 @@
/**
* Holds only valid unit and TenorCode: Day, Week, Month, Year, IMM, Overnight,
* TomNext, Spot, SpotNext, SpotWeek.
- *
+ *
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
*/
public class Tenor {
private int units = 0;
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/TenorCode.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/TenorCode.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/TenorCode.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -19,16 +19,14 @@
/**
* enum of Tenor Codes held by a {@link Tenor}
- *
+ *
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
*/
public enum TenorCode {
- OVERNIGHT("ON", false),
- SPOT("SP", false),
- DAY("D", true), WEEK("W", true), MONTH("M", true), YEAR("Y", true);
+ OVERNIGHT("ON", false), SPOT("SP", false), DAY("D", true), WEEK("W", true), MONTH("M", true), YEAR("Y", true);
private final String code;
@@ -47,8 +45,9 @@
}
/**
- * @param code string representation of the <code>TenorCode</code>
- * @return a <code>TenorCode</code> represented by the string argument
+ * @param code
+ * string representation of the <code>TenorCode</code>
+ * @return a <code>TenorCode</code> represented by the string argument
*/
public static TenorCode fromCode(final String code) {
for (final TenorCode ct : TenorCode.values()) {
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Utils.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Utils.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/Utils.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -45,9 +45,11 @@
}
/**
- * Removes set's all "time" fields to zero, leaving only the date portion of the Calendar.
- * The Calendar passe
- * @param cal to Calendar object to blast, note, it will be modified
+ * Removes set's all "time" fields to zero, leaving only the date portion of
+ * the Calendar. The Calendar passe
+ *
+ * @param cal
+ * to Calendar object to blast, note, it will be modified
* @return the calendar object modified (same instance)
*/
public static Calendar blastTime(final Calendar cal) {
@@ -81,7 +83,7 @@
throw new IllegalArgumentException("\"" + dateStr + "\"" + " is an invalid date, the pattern is : " + DATE_PATTERN);
}
}
-
+
/**
*
* @param str
@@ -105,6 +107,7 @@
/**
* Get a Calendar object for a given Date representation
+ *
* @param date
* @return
*/
@@ -116,7 +119,7 @@
cal.setTime(date);
return blastTime(cal);
}
-
+
/**
* Converts a Set of Date objects to a Set of Calendar objects
*
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/WorkingWeek.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/WorkingWeek.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/WorkingWeek.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -26,7 +26,7 @@
* @author Benoit Xhenseval
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
+ *
*/
public class WorkingWeek {
private static final byte MONDAY = 1;
@@ -91,7 +91,8 @@
* true if working day
* @param dayOfWeek
* e.g. Calendar.MONDAY, Calendar.TUESDAY, etc
- * @return a new instance of a <code>WorkingWeek</code> with the working day set
+ * @return a new instance of a <code>WorkingWeek</code> with the working
+ * day set
*/
public WorkingWeek withWorkingDayFromCalendar(final boolean working, final int dayOfWeek) {
final int day = adjustDay(dayOfWeek);
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractBackwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractBackwardDateCalculatorTest.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractBackwardDateCalculatorTest.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -212,24 +212,78 @@
checkMoveByTenor("2006-09-26", new Tenor(4, TenorCode.DAY), 0, "2006-09-29", HolidayHandlerType.BACKWARD);
}
+ public void testMoveByTenorDaysOneDayToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 1, "2006-08-10", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 1, "2006-08-11", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 1, "2006-08-18", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 1, "2006-08-18", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 1, "2006-08-18", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorDaysTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 2, "2006-08-11", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 2, "2006-08-11", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 2, "2006-08-18", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 2, "2006-08-18", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 2, "2006-08-22", HolidayHandlerType.BACKWARD);
+ }
+
public void testMoveByTenorWeek() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 0, "2006-08-15", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 0, "2006-08-22", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 0, "2006-09-05", HolidayHandlerType.BACKWARD);
}
+ public void testMoveByTenorWeekOneDayToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 1, "2006-08-16", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 1, "2006-08-23", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 1, "2006-09-06", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorWeekTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 2, "2006-08-17", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 2, "2006-08-24", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 2, "2006-09-07", HolidayHandlerType.BACKWARD);
+ }
+
public void testMoveByTenorMonth() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 0, "2006-09-29", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 0, "2006-10-31", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 0, "2006-02-28", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 0, "2008-02-29", HolidayHandlerType.BACKWARD);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 0, "2006-10-06", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 0, "2007-01-08", HolidayHandlerType.BACKWARD);
}
+ public void testMoveByTenorMonthOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 1, "2006-09-29", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-02-29", HolidayHandlerType.BACKWARD);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 1, "2007-01-09", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorMonthTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 2, "2006-09-29", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-02-29", HolidayHandlerType.BACKWARD);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-08", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 2, "2007-01-10", HolidayHandlerType.BACKWARD);
+ }
+
public void testMoveByTenorYear() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 0, "2007-08-31", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 0, "2008-08-29", HolidayHandlerType.BACKWARD);
@@ -237,15 +291,54 @@
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 0, "2012-02-29", HolidayHandlerType.BACKWARD);
}
+ public void testMoveByTenorYearOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 1, "2007-08-31", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 1, "2008-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 1, "2009-02-27", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 1, "2012-02-29", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorYearTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 2, "2007-08-31", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 2, "2008-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 2, "2009-02-27", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 2, "2012-02-29", HolidayHandlerType.BACKWARD);
+ }
+
public void testMoveByTenorSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 0, "2006-08-31", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 0, "2006-08-25", HolidayHandlerType.BACKWARD);
}
+ public void testMoveByTenorSpotOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 1, "2006-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 1, "2006-08-25", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorSpotTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 2, "2006-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 2, "2006-08-25", HolidayHandlerType.BACKWARD);
+ }
+
public void testMoveByTenorOvernight() {
checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 0, "2006-09-01", HolidayHandlerType.BACKWARD);
checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.BACKWARD);
}
+
+ public void testMoveByTenorOvernightOneDayToSpot() {
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 1, "2006-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.BACKWARD);
+ }
+
+ public void testMoveByTenorOvernightTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 2, "2006-09-01", HolidayHandlerType.BACKWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.BACKWARD);
+ }
+
}
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractForwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractForwardDateCalculatorTest.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractForwardDateCalculatorTest.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -203,21 +203,21 @@
}
public void testMoveByTenorDaysOneDayToSpot() {
- checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 1, "2006-08-10", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 1, "2006-08-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 1, "2006-08-18", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 1, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ 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.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 2, "2006-08-14", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(10, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(11, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(12, TenorCode.DAY), 2, "2006-08-21", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-07", new Tenor(13, TenorCode.DAY), 2, "2006-08-22", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ 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() {
@@ -227,15 +227,15 @@
}
public void testMoveByTenorWeekOneDayToSpot() {
- checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 1, "2006-08-16", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 1, "2006-08-23", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 1, "2006-09-06", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 1, "2006-08-16", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 1, "2006-08-23", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 1, "2006-09-06", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorWeekTwoDaysToSpot() {
- checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 2, "2006-08-17", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 2, "2006-08-24", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 2, "2006-09-07", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 2, "2006-08-17", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 2, "2006-08-24", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 2, "2006-09-07", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorMonth() {
@@ -243,7 +243,7 @@
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 0, "2006-10-31", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 0, "2006-02-28", HolidayHandlerType.FORWARD);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 0, "2008-02-29", HolidayHandlerType.FORWARD);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 0, "2006-09-11", HolidayHandlerType.FORWARD);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 0, "2006-10-09", HolidayHandlerType.FORWARD);
@@ -251,27 +251,27 @@
}
public void testMoveByTenorMonthOneDayToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 1, "2006-10-02", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-03-03", HolidayHandlerType.MODIFIED_FOLLLOWING);
-
- checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 1, "2007-01-09", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 1, "2006-10-02", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-03-03", HolidayHandlerType.FORWARD);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 1, "2007-01-09", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorMonthTwoDaysToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 2, "2006-10-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-06", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-03-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
-
- checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 2, "2007-01-10", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 2, "2006-10-04", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-06", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-03-04", HolidayHandlerType.FORWARD);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 2, "2007-01-10", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorYear() {
@@ -281,19 +281,18 @@
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 0, "2012-02-29", HolidayHandlerType.FORWARD);
}
-
public void testMoveByTenorYearOneDayToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 1, "2007-09-03", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 1, "2008-09-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 1, "2009-03-03", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 1, "2012-03-05", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 1, "2007-09-03", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 1, "2008-09-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 1, "2009-03-03", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 1, "2012-03-05", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorYearTwoDaysToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 2, "2007-09-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 2, "2008-09-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 2, "2009-03-03", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 2, "2012-03-05", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 2, "2007-09-04", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 2, "2008-09-04", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 2, "2009-03-03", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 2, "2012-03-05", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorSpot() {
@@ -302,13 +301,13 @@
}
public void testMoveByTenorSpotOneDayToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 1, "2006-08-30", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 1, "2006-09-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 1, "2006-08-30", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorSpotTwoDaysToSpot() {
- checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 2, "2006-09-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 2, "2006-08-31", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 2, "2006-09-04", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 2, "2006-08-31", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorOvernight() {
@@ -319,17 +318,17 @@
}
public void testMoveByTenorOvernightOneDayToSpot() {
- checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 1, "2006-08-29", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 1, "2006-08-30", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 1, "2006-08-29", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 1, "2006-09-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 1, "2006-08-30", HolidayHandlerType.FORWARD);
}
public void testMoveByTenorOvernightTwoDaysToSpot() {
- checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 2, "2006-08-29", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 2, "2006-09-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
- checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 2, "2006-08-30", HolidayHandlerType.MODIFIED_FOLLLOWING);
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 2, "2006-08-29", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 2, "2006-09-01", HolidayHandlerType.FORWARD);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 2, "2006-08-30", HolidayHandlerType.FORWARD);
}
}
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedFollowingDateCalculatorTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedFollowingDateCalculatorTest.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedFollowingDateCalculatorTest.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -213,7 +213,7 @@
checkDate("do NOT move to next month", cal, "2006-07-28");
}
-
+
public void testMoveByTenorDays() {
checkMoveByTenor("2006-08-08", StandardTenor.T_1D, 0, "2006-08-09", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.DAY), 0, "2006-08-10", HolidayHandlerType.MODIFIED_FOLLLOWING);
@@ -265,7 +265,7 @@
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 0, "2006-10-31", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 0, "2006-02-28", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 0, "2008-02-29", HolidayHandlerType.MODIFIED_FOLLLOWING);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 0, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 0, "2006-10-09", HolidayHandlerType.MODIFIED_FOLLLOWING);
@@ -277,7 +277,7 @@
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-03-03", HolidayHandlerType.MODIFIED_FOLLLOWING);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.MODIFIED_FOLLLOWING);
@@ -289,7 +289,7 @@
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-06", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-03-04", HolidayHandlerType.MODIFIED_FOLLLOWING);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_FOLLLOWING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.MODIFIED_FOLLLOWING);
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedPreceedingDateCalculatorTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedPreceedingDateCalculatorTest.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractModifiedPreceedingDateCalculatorTest.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -205,7 +205,6 @@
}
-
public void testAddAcrossMonth() {
final DateCalculator<E> cal = newDateCalculator("bla", HolidayHandlerType.MODIFIED_PRECEEDING);
@@ -237,25 +236,78 @@
checkMoveByTenor("2006-09-26", new Tenor(4, TenorCode.DAY), 0, "2006-09-29", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+ 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_PRECEEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 0, "2006-08-22", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 0, "2006-09-05", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+ public void testMoveByTenorWeekOneDayToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 1, "2006-08-16", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 1, "2006-08-23", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 1, "2006-09-06", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+ public void testMoveByTenorWeekTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1W, 2, "2006-08-17", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.WEEK), 2, "2006-08-24", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(4, TenorCode.WEEK), 2, "2006-09-07", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
public void testMoveByTenorMonth() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 0, "2006-09-29", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 0, "2006-10-31", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 0, "2006-02-28", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 0, "2008-02-29", HolidayHandlerType.MODIFIED_PRECEEDING);
-
+
checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 0, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 0, "2006-10-06", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 0, "2007-01-08", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+ public void testMoveByTenorMonthOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 1, "2006-10-02", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 1, "2006-11-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 1, "2006-03-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 1, "2008-03-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 1, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 1, "2006-10-09", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 1, "2007-01-09", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
+ public void testMoveByTenorMonthTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1M, 2, "2006-10-02", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2M, 2, "2006-11-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-01-31", StandardTenor.T_1M, 2, "2006-03-02", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-01-31", StandardTenor.T_1M, 2, "2008-03-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+
+ checkMoveByTenor("2006-08-08", StandardTenor.T_1M, 2, "2006-09-08", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-09", StandardTenor.T_1M, 2, "2006-09-11", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(2, TenorCode.MONTH), 2, "2006-10-10", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-08", new Tenor(5, TenorCode.MONTH), 2, "2007-01-10", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
public void testMoveByTenorYear() {
checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 0, "2007-08-31", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 0, "2008-08-29", HolidayHandlerType.MODIFIED_PRECEEDING);
@@ -263,15 +315,53 @@
checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 0, "2012-02-29", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+ public void testMoveByTenorYearOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 1, "2007-09-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 1, "2008-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 1, "2009-03-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 1, "2012-03-02", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
+ public void testMoveByTenorYearTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.T_1Y, 2, "2007-09-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.T_2Y, 2, "2008-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_1Y, 2, "2009-03-03", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2008-02-29", StandardTenor.T_4Y, 2, "2012-03-02", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
public void testMoveByTenorSpot() {
checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 0, "2006-08-31", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+ public void testMoveByTenorSpotOneDayToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
+ public void testMoveByTenorSpotTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-31", StandardTenor.SPOT, 2, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-28", StandardTenor.SPOT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
public void testMoveByTenorOvernight() {
checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 0, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 0, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
}
+
+ public void testMoveByTenorOvernightOneDayToSpot() {
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 1, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 1, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
+
+ public void testMoveByTenorOvernightTwoDaysToSpot() {
+ checkMoveByTenor("2006-08-24", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-25", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-31", StandardTenor.OVERNIGHT, 2, "2006-09-01", HolidayHandlerType.MODIFIED_PRECEEDING);
+ checkMoveByTenor("2006-08-28", StandardTenor.OVERNIGHT, 2, "2006-08-25", HolidayHandlerType.MODIFIED_PRECEEDING);
+ }
}
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractPeriodCountCalculatorTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractPeriodCountCalculatorTest.java 2006-09-10 20:38:22 UTC (rev 155)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractPeriodCountCalculatorTest.java 2006-09-11 09:23:35 UTC (rev 156)
@@ -122,67 +122,67 @@
{ "30Y", "1998-12-31", "2028-12-29", "ACT_360", "10956", "30.433333" }
// end of set
};
-
-// private static final String[][] ACT_ACT = {
-// { "my testies", "2006-08-08", "2006-11-08", "ACT_ACT", "92", "0" },
-// };
-
+
+ // private static final String[][] ACT_ACT = {
+ // { "my testies", "2006-08-08", "2006-11-08", "ACT_ACT", "92", "0" },
+ // };
+
private static final String[][] ACT_ACT = {
- // name start end period dayDiff yearDiff
- { "0D", "2006-08-08", "2006-08-08", "ACT_ACT", "0", "0.00" },
- { "1D", "2006-08-08", "2006-08-09", "ACT_ACT", "1", "0.00" },
- { "1W", "2006-08-08", "2006-08-15", "ACT_ACT", "7", "0.00" },
- { "1M", "2006-08-08", "2006-09-08", "ACT_ACT", "31", "0.00" },
- { "3M", "2006-08-08", "2006-11-08", "ACT_ACT", "92", "0.00" },
- { "6M", "2006-08-08", "2007-02-08", "ACT_ACT", "184", "0.504110" },
- { "9M", "2006-08-08", "2007-05-08", "ACT_ACT", "273", "0.747945" },
- { "1Y", "2006-08-08", "2007-08-08", "ACT_ACT", "365", "1.000000" },
- { "2Y", "2006-08-08", "2008-08-08", "ACT_ACT", "731", "2.001093" },
- { "3Y", "2006-08-08", "2009-08-10", "ACT_ACT", "1098", "3.005479" },
- { "4Y", "2006-08-08", "2010-08-09", "ACT_ACT", "1462", "4.002740" },
- { "5Y", "2006-08-08", "2011-08-08", "ACT_ACT", "1826", "5.00" },
- { "7Y", "2006-08-08", "2013-08-08", "ACT_ACT", "2557", "7.00" },
- { "10Y", "2006-08-08", "2016-08-08", "ACT_ACT", "3653", "10.001093" },
- { "15Y", "2006-08-08", "2021-08-09", "ACT_ACT", "5480", "15.002740" },
- { "20Y", "2006-08-08", "2026-08-10", "ACT_ACT", "7307", "20.005479" },
- { "30Y", "2006-08-08", "2036-08-08", "ACT_ACT", "10958", "30.001093" },
- // leap year - funny date...
- { "0D", "2008-02-29", "2008-02-29", "ACT_ACT", "0", "0.00" },
- { "1D", "2008-02-29", "2008-03-03", "ACT_ACT", "3", "0.00" },
- { "1W", "2008-02-29", "2008-03-07", "ACT_ACT", "7", "0.00" },
- { "1M", "2008-02-29", "2008-03-31", "ACT_ACT", "31", "0.00" },
- { "3M", "2008-02-29", "2008-05-29", "ACT_ACT", "90", "0.00" },
- { "6M", "2008-02-29", "2008-08-29", "ACT_ACT", "182", "0.00" },
- { "9M", "2008-02-29", "2008-11-28", "ACT_ACT", "273", "0.00" },
- { "1Y", "2008-02-29", "2009-02-27", "ACT_ACT", "364", "0.994962" },
- { "2Y", "2008-02-29", "2010-02-26", "ACT_ACT", "728", "1.992222" },
- { "3Y", "2008-02-29", "2011-02-28", "ACT_ACT", "1095", "2.997702" },
- { "4Y", "2008-02-29", "2012-02-29", "ACT_ACT", "1461", "4.00" },
- { "5Y", "2008-02-29", "2013-02-28", "ACT_ACT", "1826", "4.997702" },
- { "7Y", "2008-02-29", "2015-02-27", "ACT_ACT", "2555", "6.994962" },
- { "10Y", "2008-02-29", "2018-02-28", "ACT_ACT", "3652", "9.997702" },
- { "15Y", "2008-02-29", "2023-02-28", "ACT_ACT", "5478", "14.997702" },
- { "20Y", "2008-02-29", "2028-02-29", "ACT_ACT", "7305", "20.00" },
- { "30Y", "2008-02-29", "2038-02...
[truncated message content] |