/* * Rapid Beans Framework: DateGeneratorTest.java * * created on 14.01.2007 * * (c) Martin Bluemel, 2007 */ package org.rapidbeans.domain.math; import java.text.DateFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.Locale; import junit.framework.TestCase; /** * * @author Martin Bluemel * */ public class DateGeneratorTest extends TestCase { /** * Date formatter. */ static final DateFormat DFDATE = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMAN); /** * Date formatter. */ static final DateFormat DFTIME = DateFormat .getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.GERMAN); // /** // * Date formatter. // */ // static final DateFormat DFTIMELONG = DateFormat.getDateTimeInstance( // DateFormat.MEDIUM, DateFormat.LONG, Locale.GERMAN); /** * normal case. * * @throws ParseException * in case of dateparsing problems */ public void testGenerateNormal() throws ParseException { DateGenerator testGenerator = new DateGenerator(); ArrayList<Date> dates = testGenerator.generateDays(DFDATE.parse("11.11.2005"), DFDATE.parse("15.11.2005")); assertNotNull(dates); assertEquals(5, dates.size()); assertEquals(DFDATE.parse("11.11.2005"), dates.get(0)); assertEquals(DFDATE.parse("12.11.2005"), dates.get(1)); assertEquals(DFDATE.parse("13.11.2005"), dates.get(2)); assertEquals(DFDATE.parse("14.11.2005"), dates.get(3)); assertEquals(DFDATE.parse("15.11.2005"), dates.get(4)); } /** * boundary condition. * * @throws ParseException * in case of dateparsing problems */ public void testGenerateFromEqualsTo() throws ParseException { DateGenerator testGenerator = new DateGenerator(); ArrayList<Date> dates = testGenerator.generateDays(DFDATE.parse("11.11.2005"), DFDATE.parse("11.11.2005")); assertNotNull(dates); assertEquals(1, dates.size()); assertEquals(DFDATE.parse("11.11.2005"), dates.get(0)); } /** * robustness test. * * @throws ParseException * in case of dateparsing problems */ public void testGenerateInputDatesNotExact() throws ParseException { DateGenerator testGenerator = new DateGenerator(); ArrayList<Date> dates = testGenerator.generateDays(DFTIME.parse("11.11.2005 23:59:59"), DFTIME.parse("15.11.2005 00:00:00")); assertNotNull(dates); assertEquals(5, dates.size()); assertEquals(DFDATE.parse("11.11.2005"), dates.get(0)); assertEquals(DFDATE.parse("12.11.2005"), dates.get(1)); assertEquals(DFDATE.parse("13.11.2005"), dates.get(2)); assertEquals(DFDATE.parse("14.11.2005"), dates.get(3)); assertEquals(DFDATE.parse("15.11.2005"), dates.get(4)); } /** * failure condition test: from date smaller that to date. * * @throws ParseException * in case of dateparsing problems */ public void testGenerateFromSmallerTo() throws ParseException { DateGenerator testGenerator = new DateGenerator(); try { testGenerator.generateDays(DFDATE.parse("15.11.2005"), DFDATE.parse("11.11.2005")); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException e) { assertTrue(true); } } }