package com.metservice.kanban.csv; import static java.util.Calendar.DAY_OF_MONTH; import static java.util.Calendar.FEBRUARY; import static java.util.Calendar.MONTH; import static java.util.Calendar.YEAR; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import java.util.GregorianCalendar; import org.joda.time.LocalDate; import org.junit.Test; import com.metservice.kanban.utils.DateUtils; public class DateFormatUtilsTest { @Test public void parsesADate() { LocalDate parsedDate = DateUtils.parseIsoDate("2011-02-09"); assertThat(parsedDate.getYear(), is(2011)); assertThat(parsedDate.getMonthOfYear(), is(2)); assertThat(parsedDate.getDayOfMonth(), is(9)); } @Test(expected = RuntimeException.class) public void throwsRuntimeExceptionIfDateCannotBeParsed() { DateUtils.parseIsoDate("something that cannot be parsed as a date"); } @Test public void formatsADate() { GregorianCalendar calendar = new GregorianCalendar(); calendar.clear(); calendar.set(YEAR, 2011); calendar.set(MONTH, FEBRUARY); calendar.set(DAY_OF_MONTH, 9); assertThat(DateUtils.parseIsoDate("2011-02-09"), is(LocalDate.fromCalendarFields(calendar))); } }