BoltNeo4jPreparedStatement extends Neo4jPreparedStatement implements Loggable { @Override public Neo4jParameterMetaData getParameterMetaData() throws SQLException { this.checkClosed(); return new BoltNeo4jParameterMetaData(this); } private  BoltNeo4jPreparedStatement(BoltNeo4jConnectionImpl connection, String rawStatement, int... rsParams); static PreparedStatement newInstance(boolean debug, BoltNeo4jConnectionImpl connection, String rawStatement, int... rsParams); @Override ResultSet executeQuery(); @Override int executeUpdate(); @Override boolean execute(); @Override Neo4jParameterMetaData getParameterMetaData(); @Override Neo4jResultSetMetaData getMetaData(); @Override int[] executeBatch();  }
@Test public void getParameterMetaDataShouldReturnANewParameterMetaData() throws Exception { whenNew(BoltNeo4jParameterMetaData.class).withAnyArguments().thenReturn(null); this.preparedStatementOneParam.getParameterMetaData(); verifyNew(BoltNeo4jParameterMetaData.class).withArguments(this.preparedStatementOneParam); }
@Test public void getParameterMetaDataShouldThrowExceptionIfCalledOnClosedStatement() throws Exception { expectedEx.expect(SQLException.class); this.preparedStatementOneParam.close(); this.preparedStatementOneParam.getParameterMetaData(); }