/**
* =============================================================================
*
* ORCID (R) Open Source
* http://orcid.org
*
* Copyright (c) 2012-2014 ORCID, Inc.
* Licensed under an MIT-Style License (MIT)
* http://orcid.org/open-source-license
*
* This copyright and license information (including a link to the full license)
* shall be included in its entirety in all copies or substantial portion of
* the software.
*
* =============================================================================
*/
package org.orcid.utils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import javax.xml.datatype.XMLGregorianCalendar;
import org.junit.Test;
/**
*
* @author Will Simpson
*
*/
public class DateUtilsTest {
@Test
public void testConvertStringToXMLGregorianCalendar() {
assertEquals("2011-03-14T02:34:16", DateUtils.convertToXMLGregorianCalendar("2011-03-14T02:34:16").toXMLFormat());
assertEquals("2002-03-14", DateUtils.convertToXMLGregorianCalendar("2002-03-14").toXMLFormat());
assertEquals("2002-03-07", DateUtils.convertToXMLGregorianCalendar("2002-03-07").toXMLFormat());
assertEquals("2002-03-07", DateUtils.convertToXMLGregorianCalendar("2002-03-7").toXMLFormat());
assertEquals("2000-09", DateUtils.convertToXMLGregorianCalendar("2000-09").toXMLFormat());
assertEquals("2000-09", DateUtils.convertToXMLGregorianCalendar("2000-9").toXMLFormat());
assertEquals("1984-03", DateUtils.convertToXMLGregorianCalendar("1984-21").toXMLFormat());
assertEquals("1984-10", DateUtils.convertToXMLGregorianCalendar("1984-34").toXMLFormat());
assertEquals("2002", DateUtils.convertToXMLGregorianCalendar("2002").toXMLFormat());
assertNull(DateUtils.convertToXMLGregorianCalendar((String) null));
assertNull(DateUtils.convertToXMLGregorianCalendar("Select a date"));
}
@Test
public void testConvertImpossibleDateStringToXMLGregorianCalendar() {
String impossibleDateString = "1987-02-29";
XMLGregorianCalendar xmlGregorianCalendar = DateUtils.convertToXMLGregorianCalendar(impossibleDateString);
assertNull(xmlGregorianCalendar);
}
}