Neo4jParameterMetaData implements java.sql.ParameterMetaData { @Override public <T> T unwrap(Class<T> iface) throws SQLException { return Wrapper.unwrap(iface, this); }  @Override int getParameterCount(); @Override int isNullable(int param); @Override boolean isSigned(int param); @Override int getPrecision(int param); @Override int getScale(int param); @Override int getParameterType(int param); @Override String getParameterTypeName(int param); @Override String getParameterClassName(int param); @Override int getParameterMode(int param); @Override T unwrap(Class<T> iface); @Override boolean isWrapperFor(Class<?> iface);  }
@Test public void unwrapShouldReturnCorrectClass() throws SQLException { Neo4jParameterMetaData parameterMetaData = mock(Neo4jParameterMetaData.class, Mockito.CALLS_REAL_METHODS); assertNotNull(parameterMetaData.unwrap(Neo4jParameterMetaData.class)); assertNotNull(parameterMetaData.unwrap(java.sql.ParameterMetaData.class)); assertNotNull(parameterMetaData.unwrap(java.sql.Wrapper.class)); }
@Test public void unwrapShouldThrowException() throws SQLException { expectedEx.expect(SQLException.class); Neo4jParameterMetaData parameterMetaData = mock(Neo4jParameterMetaData.class, Mockito.CALLS_REAL_METHODS); parameterMetaData.unwrap(Neo4jResultSet.class); }