@Test public void testMoveToPositionEmptyCursor() throws Exception { Cursor[] cursors = new Cursor[2]; cursors[0] = null; cursors[1] = null; cursor = new MergeCursor( cursors ); assertThat(cursor.getCount()).isEqualTo(0); assertThat(cursor.getColumnNames()).isNotNull(); cursor.moveToPosition(0); assertThat(cursor.getColumnNames()).isNotNull(); }
@Test public void testColumnNamesMultipleCursors() throws Exception { Cursor[] cursors = new Cursor[2]; cursors[0] = dbCursor1; cursors[1] = dbCursor2; cursor = new MergeCursor( cursors ); for ( int i = 0; i < TABLE_1_INSERTS.length; i++ ) { cursor.moveToPosition(i); String[] columnNames = cursor.getColumnNames(); assertColumnNamesCursor1(columnNames); } for ( int i = 0; i < TABLE_2_INSERTS.length; i++ ) { cursor.moveToPosition(i + TABLE_1_INSERTS.length); String[] columnNames = cursor.getColumnNames(); assertColumnNamesCursor2(columnNames); } }
@Test public void testEmptyCursors() throws Exception { // cursor list with null contents cursor = new MergeCursor( new Cursor[1] ); assertThat(cursor.getCount()).isEqualTo(0); assertThat(cursor.moveToFirst()).isFalse(); assertThat(cursor.getColumnNames()).isNotNull(); // cursor list with partially null contents Cursor[] cursors = new Cursor[2]; cursors[0] = null; cursors[1] = dbCursor1; cursor = new MergeCursor( cursors ); assertThat(cursor.getCount()).isEqualTo(TABLE_1_INSERTS.length); assertThat(cursor.moveToFirst()).isTrue(); assertThat(cursor.getColumnNames()).isNotNull(); }
@Test public void testColumnNamesSingleCursor() throws Exception { Cursor[] cursors = new Cursor[1]; cursors[0] = dbCursor1; cursor = new MergeCursor( cursors ); for ( int i = 0; i < TABLE_1_INSERTS.length; i++ ) { cursor.moveToPosition(i); String[] columnNames = cursor.getColumnNames(); assertColumnNamesCursor1(columnNames); } }