### Question:
SQLiteWrapper extends SQLDatabase { @Override public SQLiteCursor rawQuery(String sql, String[] bindArgs) throws SQLException { try { return SQLiteWrapperUtils.buildSQLiteCursor(getConnection(), sql, bindArgs); } catch (SQLiteException e) { throw new SQLException(e); } } SQLiteWrapper(File databaseFile); static SQLiteWrapper open(File databaseFile); SQLiteConnection getConnection(); SQLiteConnection createNewConnection(); @Override void open(); @Override void compactDatabase(); @Override int getVersion(); @Override boolean isOpen(); @Override void beginTransaction(); @Override void endTransaction(); @Override void setTransactionSuccessful(); @Override void close(); @Override void execSQL(String sql); @Override void execSQL(String sql, Object[] bindArgs); @Override int update(String table, ContentValues values, String whereClause, String[] whereArgs); @Override SQLiteCursor rawQuery(String sql, String[] bindArgs); @Override int delete(String table, String whereClause, String[] whereArgs); @Override long insertWithOnConflict(String table, ContentValues initialValues, int conflictAlgorithm); @Override long insert(String table, ContentValues initialValues);  }### Answer:
@Test public void rawQuery_inClause() throws Exception { prepareDatabaseForTesting(); SQLiteCursor cursor = database.rawQuery("SELECT * FROM docs WHERE doc_name IN ( ?, ?, ?)", new String[]{"haha", "hihi", "hehe"}); Assert.assertEquals(4, cursor.getCount()); }
@Test public void rawQuery() throws Exception { prepareDatabaseForTesting(); SQLiteCursor cursor = database.rawQuery("SELECT * FROM docs WHERE doc_name = ?", new String[]{"haha"}); Assert.assertTrue(cursor.getCount() == 2); Assert.assertTrue(cursor.moveToFirst()); Assert.assertEquals(Cursor.FIELD_TYPE_INTEGER, cursor.columnType(0)); Assert.assertEquals(Cursor.FIELD_TYPE_STRING, cursor.columnType(1)); Assert.assertEquals("doc_id", cursor.columnName(0)); Assert.assertEquals("doc_name", cursor.columnName(1)); Assert.assertTrue(1 == cursor.getInt(0)); Assert.assertTrue("haha".equals(cursor.getString(1))); Assert.assertTrue("this is great!".equals(cursor.getString(2))); Assert.assertEquals(1990.001f, cursor.getFloat(3), 0.000001f); Assert.assertTrue(Arrays.equals("this is a blob".getBytes(), cursor.getBlob(4))); cursor.moveToNext(); Assert.assertTrue(2 == cursor.getInt(0)); Assert.assertTrue("haha".equals(cursor.getString(1))); Assert.assertTrue(Misc.isStringNullOrEmpty(cursor.getString(2))); Assert.assertEquals(-0.09999f, cursor.getFloat(3), 0.000001f); Assert.assertTrue(Arrays.equals("this is another blob".getBytes(), cursor.getBlob(4))); }