package io.dropwizard.jdbi.args;
import org.junit.Test;
import org.mockito.Mockito;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
public class ZonedDateTimeMapperTest {
private final ResultSet resultSet = Mockito.mock(ResultSet.class);
@Test
public void mapColumnByName() throws Exception {
when(resultSet.getTimestamp("name")).thenReturn(Timestamp.valueOf("2007-12-03 10:15:30.375"));
ZonedDateTime actual = new ZonedDateTimeMapper().mapColumn(resultSet, "name", null);
assertThat(actual).isEqualTo(ZonedDateTime.of(2007, 12, 3, 10, 15, 30, 375_000_000, ZoneId.systemDefault()));
}
@Test
public void mapColumnByName_TimestampIsNull() throws Exception {
when(resultSet.getTimestamp("name")).thenReturn(null);
ZonedDateTime actual = new ZonedDateTimeMapper().mapColumn(resultSet, "name", null);
assertThat(actual).isNull();
}
@Test
public void mapColumnByIndex() throws Exception {
when(resultSet.getTimestamp(1)).thenReturn(Timestamp.valueOf("2007-12-03 10:15:30.375"));
ZonedDateTime actual = new ZonedDateTimeMapper().mapColumn(resultSet, 1, null);
assertThat(actual).isEqualTo(ZonedDateTime.of(2007, 12, 3, 10, 15, 30, 375_000_000, ZoneId.systemDefault()));
}
@Test
public void mapColumnByIndex_TimestampIsNull() throws Exception {
when(resultSet.getTimestamp(1)).thenReturn(null);
ZonedDateTime actual = new ZonedDateTimeMapper().mapColumn(resultSet, 1, null);
assertThat(actual).isNull();
}
}