### Question:
TimestampDataConverter implements DataConverter<Timestamp>, DateParser<Timestamp> { @Override public Timestamp parsDate(String rawData) throws Exception { return StringUtils.isNotEmpty(rawData) ? new Timestamp(getDateFormatter().parse(rawData).getTime()) : null; }  @Override Timestamp stringToValue(String rawData); @Override String valueToString(Timestamp value); @Override Timestamp parsDate(String rawData); @Override String dateToString(Timestamp value); static DateFormat getDateFormatWithTimeZone(DateFormat dateFormat);  }### Answer:
@Test(expected = ParseException.class) public void parsDate_valueIsNotAcceptable_ExceptionThrown() throws Exception { assertEquals(timestampDataConverter.parsDate("test"), Timestamp.valueOf("2018-05-11 00:00:00")); }
@Test public void parsDate_valueIsNull_returnNull() throws Exception { assertNull(timestampDataConverter.parsDate(null)); }
@Test public void parsDate_valueIsTimestampString_returnTimestamp() throws Exception { assertEquals(timestampDataConverter.parsDate("2018-05-11"), Timestamp.valueOf("2018-05-11 00:00:00")); }