1f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesipackage com.xtremelabs.robolectric.shadows; 2f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 37b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport static org.hamcrest.CoreMatchers.equalTo; 47b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport static org.hamcrest.CoreMatchers.is; 57b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport static org.hamcrest.CoreMatchers.nullValue; 67b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport static org.junit.Assert.assertThat; 77b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia 87b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport java.util.ArrayList; 97b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport java.util.List; 107b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia 11f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.Before; 12f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.Test; 13f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesiimport org.junit.runner.RunWith; 14f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 157b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport android.database.AbstractCursor; 167b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport android.net.Uri; 17f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 187b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport com.xtremelabs.robolectric.Robolectric; 197b5e903f71127867950ba87f363a491ba5e8306dDiego Garciaimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 20f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 21f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi@RunWith(WithTestDefaultsRunner.class) 22f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesipublic class AbstractCursorTest { 2340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 2440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private TestCursor cursor; 2540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 2640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Before 2740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void setUp() throws Exception { 2840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor = new TestCursor(); 2940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 3040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 3140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 3240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testMoveToFirst() { 3340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 3440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 3540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(1)); 3640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 3740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 3840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 3940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testMoveToFirstEmptyList() { 4040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(false)); 4140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(0)); 4240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 430b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham 440b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham @Test 450b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham public void testMoveToLast() { 460b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham cursor.theTable.add("Foobar"); 470b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham cursor.theTable.add("Bletch"); 480b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham 490b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham assertThat(cursor.moveToLast(), equalTo(true)); 500b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham assertThat(cursor.getCount(), equalTo(2)); 510b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham } 5240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 5340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 540b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham public void testMoveToLastEmptyList() { 550b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham assertThat(cursor.moveToLast(), equalTo(false)); 560b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham assertThat(cursor.getCount(), equalTo(0)); 570b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham } 580b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham 590b1cf2dae9f688eaf17eee6ba853ebf5f9b21689adriancowham @Test 6040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testGetPosition() { 6140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 6240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Bletch"); 6340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 6440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 6540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(2)); 6640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getPosition(), equalTo(0)); 6740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 6840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 6940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 7040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testGetPositionSingleEntry() { 7140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 7240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 7340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 7440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(1)); 7540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getPosition(), equalTo(0)); 7640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 7740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 7840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 7940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testGetPositionEmptyList() { 8040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(false)); 8140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(0)); 8240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getPosition(), equalTo(0)); 8340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 8440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 8540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 8640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testMoveToNext() { 8740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 8840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Bletch"); 8940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 9040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 9140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(2)); 9240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToNext(), equalTo(true)); 9340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getPosition(), equalTo(1)); 9440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 9540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 9640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 9740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testAttemptToMovePastEnd() { 9840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 9940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Bletch"); 10040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 10140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 10240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(2)); 10340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToNext(), equalTo(true)); 104bf6a1c2145b187c23b06243ceaa6f85c24498643Lenny Turetsky & Phil Plante assertThat(cursor.getPosition(), equalTo(1)); 10509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(true)); 10640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToNext(), equalTo(false)); 107bf6a1c2145b187c23b06243ceaa6f85c24498643Lenny Turetsky & Phil Plante assertThat(cursor.isAfterLast(), equalTo(true)); 10809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.getPosition(), equalTo(2)); 10940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 11040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 11140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 11240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testAttemptToMovePastSingleEntry() { 11340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams cursor.theTable.add("Foobar"); 11440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 11540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(true)); 11640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(1)); 11740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToNext(), equalTo(false)); 11809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.getPosition(), equalTo(1)); 11940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 12040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 12140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Test 12240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public void testAttemptToMovePastEmptyList() { 12340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToFirst(), equalTo(false)); 12440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getCount(), equalTo(0)); 12540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.moveToNext(), equalTo(false)); 12640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams assertThat(cursor.getPosition(), equalTo(0)); 12740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1287bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi 1297bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi @Test 1307bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi public void testMoveToPrevious() { 1317bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Foobar"); 1327bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Bletch"); 1337bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToFirst(), equalTo(true)); 1347bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToNext(), equalTo(true)); 1357bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.getPosition(), equalTo(1)); 1367bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToPrevious(), equalTo(true)); 1377bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.getPosition(), equalTo(0)); 1387bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi } 1397bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi 1407bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi @Test 1417bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi public void testAttemptToMovePastStart() { 1427bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Foobar"); 1437bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Bletch"); 1447bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToFirst(), equalTo(true)); 1457bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToPrevious(), equalTo(true)); 1467bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.getPosition(), equalTo(-1)); 1477bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToPrevious(), equalTo(false)); 1487bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.getPosition(), equalTo(-1)); 1497bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi } 1507bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi 1517bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi @Test 1527bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi public void testIsFirst() { 1537bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Foobar"); 1547bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Bletch"); 1557bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToFirst(), equalTo(true)); 1567bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.isFirst(), equalTo(true)); 1577bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToNext(); 1587bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.isFirst(), equalTo(false)); 1597bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToFirst(); 1607bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToPrevious(); 1617bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.isFirst(), equalTo(false)); 1627bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi } 16340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1647bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi @Test 1657bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi public void testIsLast() { 1667bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Foobar"); 1677bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.theTable.add("Bletch"); 1687bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.moveToFirst(), equalTo(true)); 1697bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToNext(); 1707bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.isLast(), equalTo(true)); 1717bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToPrevious(); 1727bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi assertThat(cursor.isLast(), equalTo(false)); 1737bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToFirst(); 1747bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi cursor.moveToNext(); 17539d72cd52c261ec6df86c2ef6a65c977c72738e0Michael Portuesi assertThat(cursor.isLast(), equalTo(true)); 1767bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi } 1777bf3f1f842b448cd4a422fa0d7e4469d50deb279Michael Portuesi 17809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken @Test 17909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken public void testIsBeforeFirst() { 18009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.theTable.add("Foobar"); 18109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.theTable.add("Bletch"); 18209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.moveToFirst(), equalTo(true)); 18309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToNext(); 18409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(true)); 18509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToPrevious(); 18609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(false)); 18709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToPrevious(); 18809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isFirst(), equalTo(false)); 18909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToPrevious(); 19009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isBeforeFirst(), equalTo(true)); 19109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken } 19209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken 19309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken @Test 19409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken public void testIsAfterLast() { 19509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.theTable.add("Foobar"); 19609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.theTable.add("Bletch"); 19709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.moveToFirst(), equalTo(true)); 19809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToNext(); 19909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(true)); 20009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToNext(); 20109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isAfterLast(), equalTo(true)); 20209e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToPrevious(); 20309e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(true)); 20409e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToPrevious(); 20509e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isLast(), equalTo(false)); 20609e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToFirst(); 20709e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToNext(); 208bf6a1c2145b187c23b06243ceaa6f85c24498643Lenny Turetsky & Phil Plante assertThat(cursor.isAfterLast(), equalTo(false)); 20909e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken cursor.moveToNext(); 21009e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken assertThat(cursor.isAfterLast(), equalTo(true)); 21109e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken } 2127b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia 2137b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia @Test 2147b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia public void testGetNotificationUri() { 2157b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia Uri uri = Uri.parse("content://foo.com"); 2167b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia ShadowAbstractCursor shadow = Robolectric.shadowOf_(cursor); 2177b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia assertThat(shadow.getNotificationUri_Compatibility(), is(nullValue())); 2187b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia cursor.setNotificationUri(null, uri); 2197b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia assertThat(shadow.getNotificationUri_Compatibility(), is(uri)); 2207b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia } 2217b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia 222605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis @Test 223605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis public void testIsClosedWhenAfterCallingClose() { 224605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis assertThat(cursor.isClosed(), equalTo(false)); 225605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis cursor.close(); 226605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis assertThat(cursor.isClosed(), equalTo(true)); 227605fe2e0d79665282551b03424c4552bf9157060Savvas Dalkitsis } 2287b5e903f71127867950ba87f363a491ba5e8306dDiego Garcia 22940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private class TestCursor extends AbstractCursor { 23040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 23140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public List<Object> theTable = new ArrayList<Object>(); 23240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 233f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi @Override 234f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi public int getCount() { 235f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi return theTable.size(); 236f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi } 237f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 23840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 23940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public String[] getColumnNames() { 2403f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 24140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 242b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 24340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 24440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public double getDouble(int columnIndex) { 2453f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 24640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 247b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 24840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 24940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public float getFloat(int columnIndex) { 2503f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 25140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 252b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 25340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 25440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public int getInt(int columnIndex) { 2553f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 25640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 257b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 25840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 25940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public long getLong(int columnIndex) { 2603f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 26140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 262b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 26340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 26440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public short getShort(int columnIndex) { 2653f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 26640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 267b574da97569d2d098d0aaebbb947bffa8514a4f7Michael Portuesi 26840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 26940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public String getString(int columnIndex) { 2703f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 27140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 272f2ff212e318b6bd939734d35be9307d79300fd8dMichael Portuesi 27340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Override 27440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams public boolean isNull(int columnIndex) { 2753f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz throw new UnsupportedOperationException(); 27640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 2773f9ddcc54cfbf81115466d6cab8a4287b2eae67fPhil Goodwin & Tyler Schultz } 27809e5078f4b638fae60c67b2e6b8f43cc796574a3Chris Van Vranken}