001    package org.hackystat.utilities.time.interval;
002    
003    import junit.framework.TestCase;
004    
005    import org.hackystat.utilities.time.period.Day;
006    
007    /**
008     * Tests the interval class. Interval class is from user's selection.
009     *  
010     * @author Hongbing Kou
011     * @version $Id: TestDayInterval.java,v 1.1.1.1 2005/10/20 23:56:40 johnson Exp $
012     */
013    public class TestDayInterval extends TestCase {
014      
015      /**
016       * Test day interval. 
017       * 
018       * @throws Exception Occurs when interval is invalid.
019       */
020      public void testDayInterval() throws Exception {
021        // Test day interval with start and end day.
022        DayInterval interval = new DayInterval("2003", "10", "03", "2004", "0", "2");
023    
024        assertTrue("Test interval type is daily", interval.isDailyInterval());
025        assertFalse("Test interval type is not weekly", interval.isWeeklyInterval());
026        assertFalse("Test interval type is not monthly", interval.isMonthlyInterval());
027        
028        assertEquals("Testing day interval name", "Day", interval.getIntervalType());
029        
030        assertEquals("Tests start of the interval", Day.getInstance(2003, 10, 3), 
031                                                        interval.getStartDay());
032        assertEquals("Tests end of the interval", Day.getInstance(2004, 0, 2), 
033                                                        interval.getEndDay());
034        assertEquals("Test toString() of DayInterval", "Day Interval : 03-Nov-2003 ~ 02-Jan-2004",
035                     interval.toString());
036        
037        interval = new DayInterval("2003", "10", "03", "2003", "10", "10");
038        
039        assertEquals("Test toString() of DayInterval", "Day Interval : 03-Nov-2003 ~ 10-Nov-2003",
040                     interval.toString());
041      }
042    }