| 
      
      
      From: <ma...@us...> - 2006-09-04 20:57:45
      
     | 
| Revision: 100
          http://svn.sourceforge.net/objectlabkit/?rev=100&view=rev
Author:   marchy
Date:     2006-09-04 13:56:59 -0700 (Mon, 04 Sep 2006)
Log Message:
-----------
Generic IMMDateTest.
Modified Paths:
--------------
    trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/IMMDateTest.java
    trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java
    trunk/datecalc-joda/src/test/java/net/objectlab/kit/datecalc/joda/IMMDateTest.java
Added Paths:
-----------
    trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractIMMDateTest.java
Added: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractIMMDateTest.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractIMMDateTest.java	                        (rev 0)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractIMMDateTest.java	2006-09-04 20:56:59 UTC (rev 100)
@@ -0,0 +1,261 @@
+package net.objectlab.kit.datecalc.common;
+
+import java.util.List;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+public abstract class AbstractIMMDateTest<E> extends TestCase {
+
+    private DateCalculator<E> cal;
+    
+    public void setUp() {
+        cal = getDateCalculator("bla");
+    }
+    
+    protected abstract DateCalculator<E> getDateCalculator(String name);
+    
+    protected abstract E parseDate(String string);
+
+    private void checkImm(final DateCalculator<E> cal, final E date, final boolean expected) {
+        assertEquals("check " + date, expected, cal.isIMMDate(date));
+    }
+    
+    public void testSanityCheck() {
+        Assert.assertEquals("Name", "bla", cal.getName());
+        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
+    }
+    
+    public void testNextIMM() {
+        final E startDate = parseDate("2006-08-01");
+        cal.setStartDate(startDate);
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-01-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-02-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-03-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-04-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-05-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-06-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-07-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-08-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-09-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-10-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-11-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-12-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-03-14"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-03-15"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-03-16"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-06-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-06-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-06-22"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-09-19"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-09-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-09-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-12-19"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-12-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2007-03-21"), cal.getNextIMMDate());
+        cal.setStartDate(parseDate("2006-12-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2007-03-21"), cal.getNextIMMDate());
+    }
+
+    
+    public void testNextIMMWithPeriod() {
+        final E startDate = parseDate("2006-08-01");
+        cal.setStartDate(startDate);
+    
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getNextIMMDate());
+    
+        cal.setStartDate(parseDate("2006-01-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getNextIMMDate(IMMPeriod.QUARTERLY));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal
+                .getNextIMMDate(IMMPeriod.BI_ANNUALY_JUN_DEC));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal
+                .getNextIMMDate(IMMPeriod.BI_ANNUALY_MAR_SEP));
+    
+        cal.setStartDate(parseDate("2006-03-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getNextIMMDate(IMMPeriod.QUARTERLY));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal
+                .getNextIMMDate(IMMPeriod.BI_ANNUALY_JUN_DEC));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal
+                .getNextIMMDate(IMMPeriod.BI_ANNUALY_MAR_SEP));
+    }
+
+    public void testIfIMMDate() {
+        final E startDate = parseDate("2006-08-01");
+        cal.setStartDate(startDate);
+    
+        checkImm(cal, parseDate("2006-08-01"), false);
+    
+        checkImm(cal, parseDate("2006-03-14"), false);
+        checkImm(cal, parseDate("2006-03-15"), true);
+        checkImm(cal, parseDate("2006-03-16"), false);
+    
+        checkImm(cal, parseDate("2006-06-20"), false);
+        checkImm(cal, parseDate("2006-06-21"), true);
+        checkImm(cal, parseDate("2006-06-22"), false);
+    
+        checkImm(cal, parseDate("2006-09-19"), false);
+        checkImm(cal, parseDate("2006-09-20"), true);
+        checkImm(cal, parseDate("2006-09-21"), false);
+    
+        checkImm(cal, parseDate("2006-12-19"), false);
+        checkImm(cal, parseDate("2006-12-20"), true);
+        checkImm(cal, parseDate("2006-12-21"), false);
+    }
+
+    public void testMoveByIMMTenor() {
+        final E startDate = parseDate("2006-04-01");
+        cal.setStartDate(startDate);
+    
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.moveByTenor(StandardTenor.IMM)
+                .getCurrentBusinessDate());
+    }
+
+    public void testMoveByNullTenor() {
+        final E startDate = parseDate("2006-04-01");
+        cal.setStartDate(startDate);
+    
+        try {
+            cal.moveByTenor(null);
+            Assert.fail("Should have thrown IllegalArgumentException");
+        } catch (final IllegalArgumentException e) {
+            // ok
+        }
+    }
+
+    public void testPreviousIMM() {
+        final E startDate = parseDate("2006-08-01");
+        cal.setStartDate(startDate);
+    
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-01-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2005-12-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-02-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2005-12-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-03-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2005-12-21"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-04-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-05-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-06-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-07-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-08-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-09-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-10-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-11-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-12-09"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+    
+        // close to dates
+    
+        cal.setStartDate(parseDate("2006-03-14"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2005-12-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-03-15"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2005-12-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-03-16"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-06-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-06-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-03-15"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-06-22"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-09-19"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-09-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-06-21"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-09-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+    
+        cal.setStartDate(parseDate("2006-12-19"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-12-20"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-09-20"), cal.getPreviousIMMDate());
+        cal.setStartDate(parseDate("2006-12-21"));
+        Assert.assertEquals("From " + cal.getStartDate(), parseDate("2006-12-20"), cal.getPreviousIMMDate());
+    }
+
+    public void testIMMLists() {
+        final E startDate = parseDate("2005-12-01");
+        final E endDate = parseDate("2007-03-17");
+        final List<E> imms = cal.getIMMDates(startDate, endDate);
+        Assert.assertNotNull(imms);
+        Assert.assertTrue("Not empty", !imms.isEmpty());
+        Assert.assertEquals("Expected number of imms dates", 5, imms.size());
+        Assert.assertEquals("date 1", parseDate("2005-12-21"), imms.get(0));
+        Assert.assertEquals("date 2", parseDate("2006-03-15"), imms.get(1));
+        Assert.assertEquals("date 3", parseDate("2006-06-21"), imms.get(2));
+        Assert.assertEquals("date 4", parseDate("2006-09-20"), imms.get(3));
+        Assert.assertEquals("date 5", parseDate("2006-12-20"), imms.get(4));
+    }
+
+    public void testEmptyIMMLists() {
+        final E startDate = parseDate("2006-03-16");
+        final E endDate = parseDate("2006-06-20");
+        final List<E> imms = cal.getIMMDates(startDate, endDate);
+        Assert.assertNotNull(imms);
+        Assert.assertTrue("empty", imms.isEmpty());
+    }
+
+    public void testEndOnIMMDateIMMLists() {
+        final E startDate = parseDate("2006-03-16");
+        final E endDate = parseDate("2006-06-21");
+        final List<E> imms = cal.getIMMDates(startDate, endDate);
+        Assert.assertNotNull(imms);
+        Assert.assertTrue("empty", !imms.isEmpty());
+        Assert.assertEquals("Expected number of imms dates", 1, imms.size());
+        Assert.assertEquals("date 1", parseDate("2006-06-21"), imms.get(0));
+    }
+
+    public void testStartOnIMMDateIMMLists() {
+        final E startDate = parseDate("2006-03-15");
+        final E endDate = parseDate("2006-06-20");
+        final List<E> imms = cal.getIMMDates(startDate, endDate);
+        Assert.assertNotNull(imms);
+        Assert.assertTrue("empty", imms.isEmpty());
+    }
+    
+}
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/IMMDateTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/IMMDateTest.java	2006-09-04 20:30:25 UTC (rev 99)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/IMMDateTest.java	2006-09-04 20:56:59 UTC (rev 100)
@@ -1,211 +1,22 @@
 package net.objectlab.kit.datecalc.jdk;
 
 import java.util.Date;
-import java.util.List;
 
-import junit.framework.Assert;
+import net.objectlab.kit.datecalc.common.AbstractIMMDateTest;
 import net.objectlab.kit.datecalc.common.DateCalculator;
 import net.objectlab.kit.datecalc.common.HolidayHandlerType;
+import net.objectlab.kit.datecalc.common.Utils;
 
-public class IMMDateTest extends AbstractDateCalculatorTest {
-    public IMMDateTest() {
-    }
+public class IMMDateTest extends AbstractIMMDateTest<Date> {
 
-    public void testNextIMM() {
-        final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-01-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-02-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-03-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-04-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-05-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-06-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-07-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-08-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-09-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-10-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-11-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-12-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-03-14"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-03-15"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-03-16"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-06-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-06-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-06-22"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-09-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-09-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-09-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(createDate("2006-12-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-12-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2007-03-21"), cal.getNextIMMDate());
-        cal.setStartDate(createDate("2006-12-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2007-03-21"), cal.getNextIMMDate());
+    @Override
+    protected DateCalculator<Date> getDateCalculator(String name) {
+        return DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator(name, HolidayHandlerType.FORWARD);
     }
 
-    public void testPreviousIMM() {
-        final DateCalculator<Date> cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-01-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-02-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-03-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2005-12-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-04-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-05-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-06-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-07-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-08-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-09-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-10-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-11-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-12-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-
-        // close to dates
-
-        cal.setStartDate(createDate("2006-03-14"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-03-15"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-03-16"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-06-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-06-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-06-22"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-09-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-09-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-09-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(createDate("2006-12-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-12-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(createDate("2006-12-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), createDate("2006-12-20"), cal.getPreviousIMMDate());
+    @Override
+    protected Date parseDate(String string) {
+        return Utils.createDate(string);
     }
 
-    public void testIMMLists() {
-        final DateCalculator<Date> cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2005-12-01");
-        final Date endDate = createDate("2007-03-17");
-        final List<Date> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("Not empty", !imms.isEmpty());
-        Assert.assertEquals("Expected number of imms dates", 5, imms.size());
-        Assert.assertEquals("date 1", createDate("2005-12-21"), imms.get(0));
-        Assert.assertEquals("date 2", createDate("2006-03-15"), imms.get(1));
-        Assert.assertEquals("date 3", createDate("2006-06-21"), imms.get(2));
-        Assert.assertEquals("date 4", createDate("2006-09-20"), imms.get(3));
-        Assert.assertEquals("date 5", createDate("2006-12-20"), imms.get(4));
-    }
-
-    public void testEmptyIMMLists() {
-        final DateCalculator<Date> cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2006-03-16");
-        final Date endDate = createDate("2006-06-20");
-        final List<Date> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", imms.isEmpty());
-    }
-
-    public void testEndOnIMMDateIMMLists() {
-        final DateCalculator<Date> cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2006-03-16");
-        final Date endDate = createDate("2006-06-21");
-        final List<Date> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", !imms.isEmpty());
-        Assert.assertEquals("Expected number of imms dates", 1, imms.size());
-        Assert.assertEquals("date 1", createDate("2006-06-21"), imms.get(0));
-    }
-
-    public void testStartOnIMMDateIMMLists() {
-        final DateCalculator<Date> cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final Date startDate = createDate("2006-03-15");
-        final Date endDate = createDate("2006-06-20");
-        final List<Date> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", imms.isEmpty());
-    }
 }
\ No newline at end of file
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java	2006-09-04 20:30:25 UTC (rev 99)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java	2006-09-04 20:56:59 UTC (rev 100)
@@ -1,18 +1,20 @@
 package net.objectlab.kit.datecalc.jdk;
 
+import java.util.Date;
+
 import net.objectlab.kit.datecalc.common.AbstractBackwardDateCalculatorTest;
 import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
 import net.objectlab.kit.datecalc.common.Utils;
 
-public class JdkDateBackwardDateCalculatorTest extends AbstractBackwardDateCalculatorTest {
+public class JdkDateBackwardDateCalculatorTest extends AbstractBackwardDateCalculatorTest<Date> {
 
     @Override
-    protected Object newDate(final String date) {
+    protected Date newDate(final String date) {
         return Utils.createDate(date);
     }
 
     @Override
-    protected DateCalculatorFactory getDateCalculatorFactory() {
+    protected DateCalculatorFactory<Date> getDateCalculatorFactory() {
         return DefaultJdkDateCalculatorFactory.getDefaultInstance();
     }
 
Modified: trunk/datecalc-joda/src/test/java/net/objectlab/kit/datecalc/joda/IMMDateTest.java
===================================================================
--- trunk/datecalc-joda/src/test/java/net/objectlab/kit/datecalc/joda/IMMDateTest.java	2006-09-04 20:30:25 UTC (rev 99)
+++ trunk/datecalc-joda/src/test/java/net/objectlab/kit/datecalc/joda/IMMDateTest.java	2006-09-04 20:56:59 UTC (rev 100)
@@ -1,303 +1,21 @@
 package net.objectlab.kit.datecalc.joda;
 
-import java.util.List;
 
-import junit.framework.Assert;
-import junit.framework.TestCase;
+import net.objectlab.kit.datecalc.common.AbstractIMMDateTest;
 import net.objectlab.kit.datecalc.common.DateCalculator;
 import net.objectlab.kit.datecalc.common.HolidayHandlerType;
-import net.objectlab.kit.datecalc.common.IMMPeriod;
-import net.objectlab.kit.datecalc.common.StandardTenor;
 
 import org.joda.time.LocalDate;
 
-public class IMMDateTest extends TestCase {
+public class IMMDateTest extends AbstractIMMDateTest<LocalDate> {
 
-    public void testNextIMM() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-01-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-02-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-04-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-05-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-07-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-08-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-10-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-11-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-03-14"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-15"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-16"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-06-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-22"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-09-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-12-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2007-03-21"), cal.getNextIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2007-03-21"), cal.getNextIMMDate());
+    @Override
+    protected DateCalculator<LocalDate> getDateCalculator(String name) {
+        return DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator(name, HolidayHandlerType.FORWARD);
     }
 
-    public void testNextIMMWithPeriod() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getNextIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-01-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getNextIMMDate(IMMPeriod.QUARTERLY));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal
-                .getNextIMMDate(IMMPeriod.BI_ANNUALY_JUN_DEC));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal
-                .getNextIMMDate(IMMPeriod.BI_ANNUALY_MAR_SEP));
-
-        cal.setStartDate(new LocalDate("2006-03-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getNextIMMDate(IMMPeriod.QUARTERLY));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal
-                .getNextIMMDate(IMMPeriod.BI_ANNUALY_JUN_DEC));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal
-                .getNextIMMDate(IMMPeriod.BI_ANNUALY_MAR_SEP));
+    @Override
+    protected LocalDate parseDate(String string) {
+        return new LocalDate(string);
     }
-
-    public void testIfIMMDate() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        checkImm(cal, new LocalDate("2006-08-01"), false);
-
-        checkImm(cal, new LocalDate("2006-03-14"), false);
-        checkImm(cal, new LocalDate("2006-03-15"), true);
-        checkImm(cal, new LocalDate("2006-03-16"), false);
-
-        checkImm(cal, new LocalDate("2006-06-20"), false);
-        checkImm(cal, new LocalDate("2006-06-21"), true);
-        checkImm(cal, new LocalDate("2006-06-22"), false);
-
-        checkImm(cal, new LocalDate("2006-09-19"), false);
-        checkImm(cal, new LocalDate("2006-09-20"), true);
-        checkImm(cal, new LocalDate("2006-09-21"), false);
-
-        checkImm(cal, new LocalDate("2006-12-19"), false);
-        checkImm(cal, new LocalDate("2006-12-20"), true);
-        checkImm(cal, new LocalDate("2006-12-21"), false);
-
-    }
-
-    private void checkImm(final DateCalculator<LocalDate> cal, final LocalDate date, final boolean expected) {
-        assertEquals("check " + date, expected, cal.isIMMDate(date));
-    }
-
-    public void testMoveByIMMTenor() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-04-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.moveByTenor(StandardTenor.IMM)
-                .getCurrentBusinessDate());
-
-    }
-
-    public void testMoveByNullTenor() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-04-01");
-        cal.setStartDate(startDate);
-
-        try {
-            cal.moveByTenor(null);
-            Assert.fail("Should have thrown IllegalArgumentException");
-        } catch (final IllegalArgumentException e) {
-            // ok
-        }
-    }
-
-    public void testPreviousIMM() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-08-01");
-        cal.setStartDate(startDate);
-
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-01-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-02-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2005-12-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-04-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-05-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-07-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-08-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-10-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-11-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-09"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-
-        // close to dates
-
-        cal.setStartDate(new LocalDate("2006-03-14"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-15"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2005-12-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-03-16"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-06-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-03-15"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-06-22"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-09-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-06-21"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-09-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-
-        cal.setStartDate(new LocalDate("2006-12-19"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-20"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-09-20"), cal.getPreviousIMMDate());
-        cal.setStartDate(new LocalDate("2006-12-21"));
-        Assert.assertEquals("From " + cal.getStartDate(), new LocalDate("2006-12-20"), cal.getPreviousIMMDate());
-    }
-
-    public void testIMMLists() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2005-12-01");
-        final LocalDate endDate = new LocalDate("2007-03-17");
-        final List<LocalDate> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("Not empty", !imms.isEmpty());
-        Assert.assertEquals("Expected number of imms dates", 5, imms.size());
-        Assert.assertEquals("date 1", new LocalDate("2005-12-21"), imms.get(0));
-        Assert.assertEquals("date 2", new LocalDate("2006-03-15"), imms.get(1));
-        Assert.assertEquals("date 3", new LocalDate("2006-06-21"), imms.get(2));
-        Assert.assertEquals("date 4", new LocalDate("2006-09-20"), imms.get(3));
-        Assert.assertEquals("date 5", new LocalDate("2006-12-20"), imms.get(4));
-    }
-
-    public void testEmptyIMMLists() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-03-16");
-        final LocalDate endDate = new LocalDate("2006-06-20");
-        final List<LocalDate> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", imms.isEmpty());
-    }
-
-    public void testEndOnIMMDateIMMLists() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-03-16");
-        final LocalDate endDate = new LocalDate("2006-06-21");
-        final List<LocalDate> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", !imms.isEmpty());
-        Assert.assertEquals("Expected number of imms dates", 1, imms.size());
-        Assert.assertEquals("date 1", new LocalDate("2006-06-21"), imms.get(0));
-    }
-
-    public void testStartOnIMMDateIMMLists() {
-        final DateCalculator<LocalDate> cal = DefaultLocalDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
-                HolidayHandlerType.FORWARD);
-        Assert.assertEquals("Name", "bla", cal.getName());
-        Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
-        final LocalDate startDate = new LocalDate("2006-03-15");
-        final LocalDate endDate = new LocalDate("2006-06-20");
-        final List<LocalDate> imms = cal.getIMMDates(startDate, endDate);
-        Assert.assertNotNull(imms);
-        Assert.assertTrue("empty", imms.isEmpty());
-    }
 }
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |