@Test
public void MustCorrectCompileQuery() throws SQLException {

    Connection connection = mock(Connection.class);
    PreparedStatement preparedStatement = mock(PreparedStatement.class);
    String bodyWriterStringPresent = "asdadsad";
    when(bodyWriter.toString()).thenReturn(bodyWriterStringPresent);
    when(connection.prepareStatement(bodyWriterStringPresent)).thenReturn(preparedStatement);
    int index = 1;
    for (SQLQueryParameterSetter setter : parameterSetters) {
        when(setter.setParameters(preparedStatement, index)).thenReturn(index);
    }
    assertTrue(testQueryStatement.compile(connection) == preparedStatement);
    verify(connection).prepareStatement(bodyWriterStringPresent);
    for (SQLQueryParameterSetter setter : parameterSetters) {
        verify(setter).setParameters(preparedStatement, index);
    }
}