AbstractCursorTest.java revision 09e5078f4b638fae60c67b2e6b8f43cc796574a3
1f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesipackage com.xtremelabs.robolectric.shadows;
2f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
33f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport android.database.AbstractCursor;
43f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.WithTestDefaultsRunner;
5f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.Before;
6f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.Test;
7f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.runner.RunWith;
8f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
93f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport java.util.ArrayList;
103f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport java.util.List;
11f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
123f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport static org.hamcrest.CoreMatchers.equalTo;
133f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultzimport static org.junit.Assert.assertThat;
14f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
15f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi@RunWith(WithTestDefaultsRunner.class)
16f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesipublic class AbstractCursorTest {
1740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
1840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    private TestCursor cursor;
1940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
2040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Before
2140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void setUp() throws Exception {
2240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor = new TestCursor();
2340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
2440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
2540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
2640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testMoveToFirst() {
2740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
2840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
2940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(1));
3040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
3140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
3240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
3340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testMoveToFirstEmptyList() {
3440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(false));
3540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(0));
3640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
370b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham
380b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    @Test
390b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    public void testMoveToLast() {
400b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        cursor.theTable.add("Foobar");
410b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        cursor.theTable.add("Bletch");
420b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham
430b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        assertThat(cursor.moveToLast(), equalTo(true));
440b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        assertThat(cursor.getCount(), equalTo(2));
450b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    }
4640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
4740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
480b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    public void testMoveToLastEmptyList() {
490b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        assertThat(cursor.moveToLast(), equalTo(false));
500b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham        assertThat(cursor.getCount(), equalTo(0));
510b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    }
520b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham
530b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham    @Test
5440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testGetPosition() {
5540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
5640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Bletch");
5740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
5840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
5940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(2));
6040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getPosition(), equalTo(0));
6140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
6240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
6340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
6440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testGetPositionSingleEntry() {
6540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
6640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
6740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
6840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(1));
6940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getPosition(), equalTo(0));
7040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
7140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
7240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
7340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testGetPositionEmptyList() {
7440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(false));
7540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(0));
7640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getPosition(), equalTo(0));
7740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
7840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
7940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
8040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testMoveToNext() {
8140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
8240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Bletch");
8340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
8440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
8540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(2));
8640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToNext(), equalTo(true));
8740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getPosition(), equalTo(1));
8840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
8940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
9040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
9140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testAttemptToMovePastEnd() {
9240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
9340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Bletch");
9440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
9540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
9640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(2));
9740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToNext(), equalTo(true));
9809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(true));
9909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.moveToNext(), equalTo(true));
10009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.getPosition(), equalTo(2));
10140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToNext(), equalTo(false));
10209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.getPosition(), equalTo(2));
10340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
10440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
10540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
10640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testAttemptToMovePastSingleEntry() {
10740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        cursor.theTable.add("Foobar");
10840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
10940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(true));
11040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(1));
11109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.moveToNext(), equalTo(true));
11209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.getPosition(), equalTo(1));
11340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToNext(), equalTo(false));
11409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.getPosition(), equalTo(1));
11540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
11640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
11740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    @Test
11840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    public void testAttemptToMovePastEmptyList() {
11940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToFirst(), equalTo(false));
12040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getCount(), equalTo(0));
12140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.moveToNext(), equalTo(false));
12240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        assertThat(cursor.getPosition(), equalTo(0));
12340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    }
1247bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi
1257bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    @Test
1267bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    public void testMoveToPrevious() {
1277bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Foobar");
1287bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Bletch");
1297bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToFirst(), equalTo(true));
1307bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToNext(), equalTo(true));
1317bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.getPosition(), equalTo(1));
1327bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToPrevious(), equalTo(true));
1337bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.getPosition(), equalTo(0));
1347bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    }
1357bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi
1367bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    @Test
1377bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    public void testAttemptToMovePastStart() {
1387bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Foobar");
1397bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Bletch");
1407bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToFirst(), equalTo(true));
1417bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToPrevious(), equalTo(true));
1427bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.getPosition(), equalTo(-1));
1437bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToPrevious(), equalTo(false));
1447bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.getPosition(), equalTo(-1));
1457bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    }
1467bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi
1477bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    @Test
1487bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    public void testIsFirst() {
1497bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Foobar");
1507bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Bletch");
1517bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToFirst(), equalTo(true));
1527bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.isFirst(), equalTo(true));
1537bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToNext();
1547bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.isFirst(), equalTo(false));
1557bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToFirst();
1567bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToPrevious();
1577bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.isFirst(), equalTo(false));
1587bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    }
15940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
1607bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    @Test
1617bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    public void testIsLast() {
1627bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Foobar");
1637bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.theTable.add("Bletch");
1647bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.moveToFirst(), equalTo(true));
1657bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToNext();
1667bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.isLast(), equalTo(true));
1677bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToPrevious();
1687bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        assertThat(cursor.isLast(), equalTo(false));
1697bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToFirst();
1707bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi        cursor.moveToNext();
17139d72cd52c261ec6df86c2ef6a65c977c72738e0Michael Portuesi        assertThat(cursor.isLast(), equalTo(true));
1727bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi    }
1737bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi
17409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    @Test
17509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    public void testIsBeforeFirst() {
17609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.theTable.add("Foobar");
17709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.theTable.add("Bletch");
17809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.moveToFirst(), equalTo(true));
17909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToNext();
18009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(true));
18109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToPrevious();
18209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(false));
18309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToPrevious();
18409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isFirst(), equalTo(false));
18509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToPrevious();
18609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isBeforeFirst(), equalTo(true));
18709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    }
18809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken
18909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    @Test
19009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    public void testIsAfterLast() {
19109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.theTable.add("Foobar");
19209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.theTable.add("Bletch");
19309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.moveToFirst(), equalTo(true));
19409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToNext();
19509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(true));
19609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToNext();
19709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isAfterLast(), equalTo(true));
19809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToPrevious();
19909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(true));
20009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToPrevious();
20109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isLast(), equalTo(false));
20209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToFirst();
20309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToNext();
20409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isAfterLast(), equalTo(false));
20509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        cursor.moveToNext();
20609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken        assertThat(cursor.isAfterLast(), equalTo(true));
20709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken    }
20809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken
2097bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi
21040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams    private class TestCursor extends AbstractCursor {
21140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
21240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public List<Object> theTable = new ArrayList<Object>();
21340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams
214f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi        @Override
215f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi        public int getCount() {
216f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi            return theTable.size();
217f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi        }
218f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
21940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
22040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public String[] getColumnNames() {
2213f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
22240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
223b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
22440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
22540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public double getDouble(int columnIndex) {
2263f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
22740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
228b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
22940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
23040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public float getFloat(int columnIndex) {
2313f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
23240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
233b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
23440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
23540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public int getInt(int columnIndex) {
2363f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
23740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
238b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
23940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
24040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public long getLong(int columnIndex) {
2413f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
24240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
243b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
24440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
24540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public short getShort(int columnIndex) {
2463f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
24740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
248b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi
24940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
25040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public String getString(int columnIndex) {
2513f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
25240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
253f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi
25440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        @Override
25540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        public boolean isNull(int columnIndex) {
2563f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz            throw new UnsupportedOperationException();
25740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams        }
2583f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz    }
25909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken}