am 78f678db: Merge "Improve Contacts_PeopleTest" into ics-mr1
* commit '78f678dbf3a4dc85ef9ea33a8f4e785466309d88':
Improve Contacts_PeopleTest
diff --git a/tests/tests/provider/src/android/provider/cts/Contacts_PeopleTest.java b/tests/tests/provider/src/android/provider/cts/Contacts_PeopleTest.java
index 0f36626..b9d26e6 100644
--- a/tests/tests/provider/src/android/provider/cts/Contacts_PeopleTest.java
+++ b/tests/tests/provider/src/android/provider/cts/Contacts_PeopleTest.java
@@ -40,6 +40,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.List;
@TestTargetClass(android.provider.Contacts.People.class)
public class Contacts_PeopleTest extends InstrumentationTestCase {
@@ -209,9 +210,16 @@
cursor.close();
mRowsAdded.add(People.addToGroup(mContentResolver, personId, groupId));
cursor = People.queryGroups(mContentResolver, personId);
- cursor.moveToFirst();
- assertEquals(personId, cursor.getInt(MEMBERSHIP_PERSON_ID_INDEX));
- assertEquals(groupId, cursor.getInt(MEMBERSHIP_GROUP_ID_INDEX));
+ boolean found = false;
+ while (cursor.moveToNext()) {
+ assertEquals(personId, cursor.getInt(MEMBERSHIP_PERSON_ID_INDEX));
+ if (cursor.getInt(MEMBERSHIP_GROUP_ID_INDEX) == groupId) {
+ found = true;
+ break;
+ }
+ }
+ assertTrue(found);
+
cursor.close();
// People: test_people_2, Group: test_group_1
@@ -223,14 +231,24 @@
String groupName = "test_group_1";
mRowsAdded.add(People.addToGroup(mContentResolver, personId, groupName));
cursor = People.queryGroups(mContentResolver, personId);
- cursor.moveToFirst();
- assertEquals(personId, cursor.getInt(MEMBERSHIP_PERSON_ID_INDEX));
- groupId = cursor.getInt(MEMBERSHIP_GROUP_ID_INDEX);
+ List<Integer> groupIds = new ArrayList<Integer>();
+ while (cursor.moveToNext()) {
+ assertEquals(personId, cursor.getInt(MEMBERSHIP_PERSON_ID_INDEX));
+ groupIds.add(cursor.getInt(MEMBERSHIP_GROUP_ID_INDEX));
+ }
cursor.close();
- cursor = mProvider.query(Groups.CONTENT_URI, GROUPS_PROJECTION,
- Groups._ID + "=" + groupId, null, null);
- cursor.moveToFirst();
- assertEquals(groupName, cursor.getString(GROUPS_NAME_INDEX));
+
+ found = false;
+ for (int id : groupIds) {
+ cursor = mProvider.query(Groups.CONTENT_URI, GROUPS_PROJECTION,
+ Groups._ID + "=" + id, null, null);
+ cursor.moveToFirst();
+ if (groupName.equals(cursor.getString(GROUPS_NAME_INDEX))) {
+ found = true;
+ break;
+ }
+ }
+ assertTrue(found);
cursor.close();
} catch (RemoteException e) {
fail("Unexpected RemoteException");