package io.konik.csv.processor; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.text.DateFormat; import java.text.ParseException; import java.util.Arrays; import java.util.Date; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.runners.Parameterized.Parameter; import static org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class DateProcessorTest { private final DateProcessor processor = new DateProcessor(); @Parameter public String dateStr; @Parameter(1) public Date expectedDate; @Parameters(name = "{1}") public static Iterable<Object[]> getParams() throws ParseException { DateFormat dateFormat = new DateProcessor().getDateFormat(); return Arrays.asList( new Object[] { "20150101", dateFormat.parse("20150101") }, new Object[] { "19960130", dateFormat.parse("19960130") }, new Object[] { "20000101", dateFormat.parse("20000101") }, new Object[] { "19991231", dateFormat.parse("19991231") }, new Object[] { "20120229", dateFormat.parse("20120229") }, new Object[] { "33333333", dateFormat.parse("33351003") } ); } @Test public void convertDateStrToZfDate() { //when: Date date = (Date) processor.execute(dateStr, null); //then: assertThat(date).isEqualTo(expectedDate); } }