package fitnesse.slim.converters;
import java.text.ParseException;
import java.util.Date;
import fitnesse.slim.SlimError;
import org.junit.Test;
import static org.junit.Assert.*;
public class DateConverterTest extends AbstractConverterTest<Date, DateConverter> {
public DateConverterTest() {
super(new DateConverter());
}
/*
* TO STRING
*/
@Test
public void toString_should_return_string_which_contains_the_date_when_value_is_a_date() throws ParseException {
String expected = "05-May-2009";
Date value = getDate(expected);
String current = converter.toString(value);
assertEquals(expected, current);
}
/*
* FROM STRING
*/
@Test
public void fromString_should_return_the_date_when_value_is_a_date() throws ParseException {
String value = "05-May-2009";
Date current = converter.fromString(value);
assertEquals(getDate(value), current);
}
@Test
public void fromString_should_return_the_date_when_value_is_a_date_without_leading_zero() throws ParseException {
String value = "5-May-2009";
Date current = converter.fromString(value);
assertEquals(getDate(value), current);
}
@Test
public void fromString_should_throw_Exception_when_value_cannot_be_parsed() {
String value = "foo";
String errorMessage = "no error";
try {
converter.fromString(value);
} catch (SlimError e) {
errorMessage = e.getMessage();
}
assertEquals("message:<<Can't convert foo to date.>>", errorMessage);
}
/*
* PRIVATE
*/
private static Date getDate(String dateStr) throws ParseException {
return DateConverter.DATE_FORMAT.parse(dateStr);
}
}