package io.dropwizard.jdbi.args;
import org.junit.Test;
import org.mockito.Mockito;
import org.skife.jdbi.v2.StatementContext;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
import java.sql.Types;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Optional;
public class ZonedDateTimeArgumentTest {
private final PreparedStatement statement = Mockito.mock(PreparedStatement.class);
private final StatementContext context = Mockito.mock(StatementContext.class);
@Test
public void apply() throws Exception {
ZonedDateTime dateTime = ZonedDateTime.of(2007, 12, 3, 10, 15, 30, 375_000_000, ZoneId.systemDefault());
new ZonedDateTimeArgument(dateTime, Optional.empty()).apply(1, statement, context);
Mockito.verify(statement).setTimestamp(1, Timestamp.valueOf("2007-12-03 10:15:30.375"));
}
@Test
public void apply_ValueIsNull() throws Exception {
new ZonedDateTimeArgument(null, Optional.empty()).apply(1, statement, context);
Mockito.verify(statement).setNull(1, Types.TIMESTAMP);
}
}