package br.com.six2six.fixturefactory.transformer; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; import org.junit.Test; public class CalendarTransformerTest { @Test public void transformCalendarToDate() { java.util.Date date = new java.util.Date(); Calendar value = Calendar.getInstance(); value.setTime(date); Date transform = new CalendarTransformer().transform(value, java.util.Date.class); assertNotNull("java.util.Date should not be null", transform); assertEquals("java.util.Dates should be equal", date, transform); } @Test public void transformCalendarToXMLGregorianCalendar() throws DatatypeConfigurationException { Calendar value = Calendar.getInstance(); XMLGregorianCalendar transform = new CalendarTransformer().transform(value, XMLGregorianCalendar.class); assertNotNull("XMLGregorianCalendar should not be null", transform); assertEquals("XMLGregorianCalendars should be equal", DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar) value), transform); } @Test public void transformCalendarToSqlDate() { Calendar value = Calendar.getInstance(); java.sql.Date transform = new CalendarTransformer().transform(value, java.sql.Date.class); assertNotNull("java.sql.Date should not be null", transform); assertEquals("java.sql.Dates should be equal", new java.sql.Date(value.getTimeInMillis()), transform); } @Test public void transformCalendarToCalendar() { Calendar value = Calendar.getInstance(); Calendar transform = new CalendarTransformer().transform(value, Calendar.class); assertNotNull("Calendar should not be null", transform); assertEquals("Calendars should be equal", value, transform); } @Test public void transformNull() { assertNull(new CalendarTransformer().transform(null, java.util.Date.class)); } @Test(expected=IllegalArgumentException.class) public void transformInvalidType() { new CalendarTransformer().transform(Calendar.getInstance(), Character.class); } }