package dbfit.environment;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.sql.Date;
import java.sql.SQLException;
import java.sql.Timestamp;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
public class SqlDateNormaliserTest {
@Rule
public ExpectedException expectedEx = ExpectedException.none();
@Test
public void shouldReturnNullIfGivenNull() throws SQLException {
assertNull(new SqlDateNormaliser().transform(null));
}
@Test
public void shouldThrowCorrectExceptionIfNotGivenADate() throws SQLException {
expectedEx.expect(UnsupportedOperationException.class);
expectedEx.expectMessage("SqlDateNormaliser cannot work with class java.lang.String");
new SqlDateNormaliser().transform("Any Old Object");
}
@Test
public void shouldReturnContentsOfDateIfAllOkay() throws SQLException {
Date dt = mock(Date.class);
when(dt.getTime()).thenReturn(103340l);
assertEquals(new Timestamp(103340l), new SqlDateNormaliser().transform(dt));
}
}