public void testDateParser()
{
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
String test = "2005-09-16T17:01:03.456+01:00";
String test2 = "1801-09-16T17:01:03.456+01:00";
String isoFormattedDate = "2005-09-16T16:01:03.456Z";
String isoFormattedDate2 = "1801-09-16T16:01:03.456Z";
Date testDate = getDateValue(2005, 9, 16, 17, 1, 3, 456, 60);
Date testDate2 = getDateValue(1801, 9, 16, 17, 1, 3, 456, 60);
Date date = ISO8601DateFormat.parse(test);
Date date2 = ISO8601DateFormat.parse(test2);
assertEquals(testDate, date);
assertEquals(testDate2, date2);
String strDate = ISO8601DateFormat.format(date);
String strDate2 = ISO8601DateFormat.format(date2);
assertEquals(isoFormattedDate, strDate);
assertEquals(isoFormattedDate2, strDate2);
}