All Downloads are FREE. Search and download functionalities are using the official Maven repository.

test.junit.fedora.server.utilities.TestDateUtility Maven / Gradle / Ivy

Go to download

The Fedora Client is a Java Library that allows API access to a Fedora Repository. The client is typically one part of a full Fedora installation.

The newest version!
package fedora.server.utilities;

import java.util.Date;

import junit.framework.TestCase;

/**
 * @author Edwin Shin
 * @version $Id: TestDateUtility.java 6425 2007-12-17 17:17:27Z pangloss $
 */
public class TestDateUtility extends TestCase {
    protected final Date EPOCH = new Date(0L);
    protected final String EPOCH_DT = "1970-01-01T00:00:00.000Z";
    protected final String EPOCH_DT2 = "1970-01-01T00:00:00Z"; // no millis
    protected final String EPOCH_XSD_DT = "1970-01-01T00:00:00Z";
    protected final String EPOCH_D = "1970-01-01Z";
    protected final String EPOCH_T = "00:00:00.000Z";
    protected final String HTTP_DATE = "Thu, 04 Aug 2005 01:35:07 GMT";
    
    protected final Date ONE_CE = new Date(-62135769600000L);
    protected final String ONE_CE_DT = "0001-01-01T00:00:00.000Z";
    protected final String ONE_CE_XSD_DT = "0001-01-01T00:00:00Z";
    protected final Date ONE_BCE = new Date(-62167392000000L);
    protected final String ONE_BCE_DT = "-0001-01-01T00:00:00.000Z";
    protected final String ONE_BCE_XSD_DT = "0000-01-01T00:00:00Z";
    protected final Date TWO_BCE = new Date(-62198928000000L);
    protected final String TWO_BCE_DT = "-0002-01-01T00:00:00.000Z";
    protected final String TWO_BCE_XSD_DT = "-0001-01-01T00:00:00Z";
    
    public static void main(String[] args) {
        junit.textui.TestRunner.run(TestDateUtility.class);
    }
    
    public void testConvertDateToString() {
        assertEquals(EPOCH_DT, DateUtility.convertDateToString(EPOCH));
        assertEquals(EPOCH_DT, DateUtility.convertDateToString(EPOCH, true));
        assertEquals(EPOCH_DT2, DateUtility.convertDateToString(EPOCH, false));
        assertEquals(ONE_CE_DT, DateUtility.convertDateToString(ONE_CE));
        assertEquals(ONE_BCE_DT, DateUtility.convertDateToString(ONE_BCE));
        assertEquals(TWO_BCE_DT, DateUtility.convertDateToString(TWO_BCE));
    }

    public void testConvertDateToDateString() {
        assertEquals(EPOCH_D, DateUtility.convertDateToDateString(EPOCH));
    }

    public void testConvertDateToTimeString() {
        assertEquals(EPOCH_T, DateUtility.convertDateToTimeString(EPOCH));
    }
    
    public void testConvertDateToXSDString() {
        assertEquals(EPOCH_XSD_DT, DateUtility.convertDateToXSDString(EPOCH));
        assertEquals(ONE_CE_XSD_DT, DateUtility.convertDateToXSDString(ONE_CE));
        assertEquals(ONE_BCE_XSD_DT, DateUtility.convertDateToXSDString(ONE_BCE));
        assertEquals(TWO_BCE_XSD_DT, DateUtility.convertDateToXSDString(TWO_BCE));
    }

    public void testParseDate() {
        String[] dates = {"1970-01-01T00:00:00.000Z",
                          "1970-01-01T00:00:00.00Z",
                          "1970-01-01T00:00:00.0Z",
                          "1970-01-01T00:00:00Z",
                          "1970-01-01Z",
                          "1970-01-01T00:00:00.000",
                          "1970-01-01T00:00:00.00",
                          "1970-01-01T00:00:00.0",
                          "1970-01-01T00:00:00",
                          "1970-01-01",
						  "Thu, 01 Jan 1970 00:00:00 GMT"
        };
        for (int i = 0; i < dates.length; i++) {
            assertEquals(EPOCH, DateUtility.parseDateAsUTC(dates[i]));
        }
        
        String[] badDates = {"",
                             "ABCD-EF-GHTIJ:KL:MN.OPQZ",
                             "1234",
                             "1",
                             "1970-01",
                             "1970-1-1",
                             "12345-01-01T00:00:00.000Z",
                             "12345-01-01T00:00:00."
        };
        for (int i = 0; i < badDates.length; i++) {
            assertNull(DateUtility.parseDateAsUTC(badDates[i]));
        }
        
        assertEquals(ONE_CE, DateUtility.parseDateAsUTC(ONE_CE_XSD_DT));
        assertEquals(ONE_BCE, DateUtility.parseDateAsUTC(ONE_BCE_XSD_DT));
        assertEquals(TWO_BCE, DateUtility.parseDateAsUTC(TWO_BCE_XSD_DT));
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy