diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-16 18:36:00 -0400 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-16 18:36:00 -0400 |
commit | 5f78786cf9802b988a4de3c08555eb43f1e02e04 (patch) | |
tree | 557804d0f2fedceaaebd0dfc7cd99cf5df7614db /tests | |
parent | 44ca7090aca79b8c8e71d34982ae54b69968ad56 (diff) | |
parent | 5ab78057a35dc71b2847920031cd707a7e2c6c64 (diff) | |
download | frameworks_base-5f78786cf9802b988a4de3c08555eb43f1e02e04.zip frameworks_base-5f78786cf9802b988a4de3c08555eb43f1e02e04.tar.gz frameworks_base-5f78786cf9802b988a4de3c08555eb43f1e02e04.tar.bz2 |
Merge change 25190 into eclair
* changes:
add the ability to do a newAssert with no values
Diffstat (limited to 'tests')
-rw-r--r-- | tests/FrameworkTest/tests/src/android/content/ContentProviderOperationTest.java | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/tests/FrameworkTest/tests/src/android/content/ContentProviderOperationTest.java b/tests/FrameworkTest/tests/src/android/content/ContentProviderOperationTest.java index dc959f5..aea124b 100644 --- a/tests/FrameworkTest/tests/src/android/content/ContentProviderOperationTest.java +++ b/tests/FrameworkTest/tests/src/android/content/ContentProviderOperationTest.java @@ -29,7 +29,6 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; -import java.util.Hashtable; import java.util.Set; import java.util.Map; import java.util.Map.Entry; @@ -145,7 +144,7 @@ public class ContentProviderOperationTest extends TestCase { public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { // Return cursor over specific set of values - return getCursor(sTestValues1); + return getCursor(sTestValues1, 1); } }, null, 0); } catch (OperationApplicationException e) { @@ -153,11 +152,62 @@ public class ContentProviderOperationTest extends TestCase { } } + public void testAssertNoValues() { + // Build an operation to assert values match provider + ContentProviderOperation op1 = ContentProviderOperation.newAssertQuery(sTestUri1) + .withExpectedCount(1).build(); + + try { + // Assert that values match from cursor + ContentProviderResult result = op1.apply(new TestContentProvider() { + public Cursor query(Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + // Return cursor over specific set of values + return getCursor(sTestValues1, 1); + } + }, null, 0); + } catch (OperationApplicationException e) { + fail("newAssert() failed"); + } + + ContentProviderOperation op2 = ContentProviderOperation.newAssertQuery(sTestUri1) + .withExpectedCount(0).build(); + + try { + // Assert that values match from cursor + ContentProviderResult result = op2.apply(new TestContentProvider() { + public Cursor query(Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + // Return cursor over specific set of values + return getCursor(sTestValues1, 0); + } + }, null, 0); + } catch (OperationApplicationException e) { + fail("newAssert() failed"); + } + + ContentProviderOperation op3 = ContentProviderOperation.newAssertQuery(sTestUri1) + .withExpectedCount(2).build(); + + try { + // Assert that values match from cursor + ContentProviderResult result = op3.apply(new TestContentProvider() { + public Cursor query(Uri uri, String[] projection, String selection, + String[] selectionArgs, String sortOrder) { + // Return cursor over specific set of values + return getCursor(sTestValues1, 5); + } + }, null, 0); + fail("we expect the exception to be thrown"); + } catch (OperationApplicationException e) { + } + } + /** * Build a {@link Cursor} with a single row that contains all values * provided through the given {@link ContentValues}. */ - private Cursor getCursor(ContentValues contentValues) { + private Cursor getCursor(ContentValues contentValues, int numRows) { final Set<Entry<String, Object>> valueSet = contentValues.valueSet(); final String[] keys = new String[valueSet.size()]; final Object[] values = new Object[valueSet.size()]; @@ -170,7 +220,9 @@ public class ContentProviderOperationTest extends TestCase { } final MatrixCursor cursor = new MatrixCursor(keys); - cursor.addRow(values); + for (i = 0; i < numRows; i++) { + cursor.addRow(values); + } return cursor; } |