Merge "Add tests for BluetoothMapAccountItemTest and BluetoothMapAppParamsTest" into tm-qpr-dev
diff --git a/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAccountItemTest.java b/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAccountItemTest.java
index 3cf5e60..9b2e2ec 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAccountItemTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAccountItemTest.java
@@ -42,10 +42,12 @@
BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ assertThat(accountItem.getId()).isEqualTo(TEST_ID);
assertThat(accountItem.getAccountId()).isEqualTo(Long.parseLong(TEST_ID));
assertThat(accountItem.getName()).isEqualTo(TEST_NAME);
assertThat(accountItem.getPackageName()).isEqualTo(TEST_PACKAGE_NAME);
assertThat(accountItem.getProviderAuthority()).isEqualTo(TEST_PROVIDER_AUTHORITY);
+ assertThat(accountItem.getIcon()).isEqualTo(TEST_DRAWABLE);
assertThat(accountItem.getType()).isEqualTo(TEST_TYPE);
assertThat(accountItem.getUci()).isEqualTo(TEST_UCI);
assertThat(accountItem.getUciPrefix()).isEqualTo(TEST_UCI_PREFIX);
@@ -55,10 +57,12 @@
public void create_withoutIdAndUciData() {
BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(/*id=*/null, TEST_NAME,
TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE);
+ assertThat(accountItem.getId()).isNull();
assertThat(accountItem.getAccountId()).isEqualTo(-1);
assertThat(accountItem.getName()).isEqualTo(TEST_NAME);
assertThat(accountItem.getPackageName()).isEqualTo(TEST_PACKAGE_NAME);
assertThat(accountItem.getProviderAuthority()).isEqualTo(TEST_PROVIDER_AUTHORITY);
+ assertThat(accountItem.getIcon()).isEqualTo(TEST_DRAWABLE);
assertThat(accountItem.getType()).isEqualTo(TEST_TYPE);
assertThat(accountItem.getUci()).isNull();
assertThat(accountItem.getUciPrefix()).isNull();
@@ -109,4 +113,166 @@
assertThat(accountItem.equals(accountItemWithoutUciData)).isTrue();
assertThat(accountItem.compareTo(accountItemWithoutUciData)).isEqualTo(0);
}
+
+ @Test
+ public void equals_withSameInstance() {
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItem.equals(accountItem)).isTrue();
+ }
+ @Test
+ public void equals_withNull() {
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItem).isNotEqualTo(null);
+ }
+
+ @SuppressWarnings("EqualsIncompatibleType")
+ @Test
+ public void equals_withDifferentClass() {
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ String accountItemString = "accountItem_string";
+
+ assertThat(accountItem.equals(accountItemString)).isFalse();
+ }
+
+ @Test
+ public void equals_withNullId() {
+ BluetoothMapAccountItem accountItemWithNullId = BluetoothMapAccountItem.create(/*id=*/null,
+ TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE,
+ TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithNonNullId = BluetoothMapAccountItem.create(TEST_ID,
+ TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE,
+ TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItemWithNullId).isNotEqualTo(accountItemWithNonNullId);
+ }
+
+ @Test
+ public void equals_withDifferentId() {
+ String TEST_ID_DIFFERENT = "2222";
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithDifferentId = BluetoothMapAccountItem.create(
+ TEST_ID_DIFFERENT, TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY,
+ TEST_DRAWABLE, TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItem).isNotEqualTo(accountItemWithDifferentId);
+ }
+
+ @Test
+ public void equals_withNullName() {
+ BluetoothMapAccountItem accountItemWithNullName = BluetoothMapAccountItem.create(
+ TEST_ID, /*name=*/null, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithNonNullName = BluetoothMapAccountItem.create(TEST_ID,
+ TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE,
+ TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItemWithNullName).isNotEqualTo(accountItemWithNonNullName);
+ }
+
+ @Test
+ public void equals_withDifferentName() {
+ String TEST_NAME_DIFFERENT = "test_name_different";
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithDifferentName = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME_DIFFERENT, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY,
+ TEST_DRAWABLE, TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItem).isNotEqualTo(accountItemWithDifferentName);
+ }
+
+ @Test
+ public void equals_withNullPackageName() {
+ BluetoothMapAccountItem accountItemWithNullPackageName = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME, /*package_name=*/null, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithNonNullPackageName = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItemWithNullPackageName).isNotEqualTo(accountItemWithNonNullPackageName);
+ }
+
+ @Test
+ public void equals_withDifferentPackageName() {
+ String TEST_PACKAGE_NAME_DIFFERENT = "test.different.package.name";
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithDifferentPackageName =
+ BluetoothMapAccountItem.create(TEST_ID, TEST_NAME, TEST_PACKAGE_NAME_DIFFERENT,
+ TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE, TEST_UCI,
+ TEST_UCI_PREFIX);
+
+ assertThat(accountItem).isNotEqualTo(accountItemWithDifferentPackageName);
+ }
+
+ @Test
+ public void equals_withNullAuthority() {
+ BluetoothMapAccountItem accountItemWithNullAuthority = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME, TEST_PACKAGE_NAME, /*provider_authority=*/null, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithNonNullAuthority = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItemWithNullAuthority).isNotEqualTo(accountItemWithNonNullAuthority);
+ }
+
+ @Test
+ public void equals_withDifferentAuthority() {
+ String TEST_PROVIDER_AUTHORITY_DIFFERENT = "test.project.different.provider";
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithDifferentAuthority =
+ BluetoothMapAccountItem.create(TEST_ID, TEST_NAME, TEST_PACKAGE_NAME,
+ TEST_PROVIDER_AUTHORITY_DIFFERENT, TEST_DRAWABLE, TEST_TYPE, TEST_UCI,
+ TEST_UCI_PREFIX);
+
+ assertThat(accountItem).isNotEqualTo(accountItemWithDifferentAuthority);
+ }
+
+ @Test
+ public void equals_withNullType() {
+ BluetoothMapAccountItem accountItemWithNullType = BluetoothMapAccountItem.create(
+ TEST_ID, TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ /*type=*/null, TEST_UCI, TEST_UCI_PREFIX);
+ BluetoothMapAccountItem accountItemWithNonNullType = BluetoothMapAccountItem.create(TEST_ID,
+ TEST_NAME, TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE, TEST_TYPE,
+ TEST_UCI, TEST_UCI_PREFIX);
+
+ assertThat(accountItemWithNullType).isNotEqualTo(accountItemWithNonNullType);
+ }
+
+ @Test
+ public void hashCode_withOnlyIdNotNull() {
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, null,
+ null, null, null, null);
+
+ int expected = (31 + TEST_ID.hashCode()) * 31 * 31 * 31;
+ assertThat(accountItem.hashCode()).isEqualTo(expected);
+ }
+
+ @Test
+ public void toString_returnsNameAndUriInfo() {
+ BluetoothMapAccountItem accountItem = BluetoothMapAccountItem.create(TEST_ID, TEST_NAME,
+ TEST_PACKAGE_NAME, TEST_PROVIDER_AUTHORITY, TEST_DRAWABLE,
+ TEST_TYPE, TEST_UCI, TEST_UCI_PREFIX);
+
+ String expected =
+ TEST_NAME + " (" + "content://" + TEST_PROVIDER_AUTHORITY + "/" + TEST_ID + ")";
+ assertThat(accountItem.toString()).isEqualTo(expected);
+ }
}
\ No newline at end of file
diff --git a/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAppParamsTest.java b/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAppParamsTest.java
index f3d9361..900835a 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAppParamsTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/map/BluetoothMapAppParamsTest.java
@@ -77,6 +77,82 @@
public static final int TEST_TRANSPARENT = 1;
@Test
+ public void encodeToBuffer_thenDecode() throws Exception {
+ ByteBuffer ret = ByteBuffer.allocate(16);
+ ret.putLong(TEST_COUNT_HIGH);
+ ret.putLong(TEST_COUNT_LOW);
+
+ BluetoothMapAppParams appParams = new BluetoothMapAppParams();
+ appParams.setMaxListCount(TEST_MAX_LIST_COUNT);
+ appParams.setStartOffset(TEST_START_OFFSET);
+ appParams.setFilterMessageType(TEST_FILTER_MESSAGE_TYPE);
+ appParams.setFilterPeriodBegin(TEST_FILTER_PERIOD_BEGIN);
+ appParams.setFilterPeriodEnd(TEST_FILTER_PERIOD_END);
+ appParams.setFilterReadStatus(TEST_FILTER_READ_STATUS);
+ appParams.setFilterRecipient(TEST_FILTER_RECIPIENT);
+ appParams.setFilterOriginator(TEST_FILTER_ORIGINATOR);
+ appParams.setFilterPriority(TEST_FILTER_PRIORITY);
+ appParams.setAttachment(TEST_ATTACHMENT);
+ appParams.setTransparent(TEST_TRANSPARENT);
+ appParams.setRetry(TEST_RETRY);
+ appParams.setNewMessage(TEST_NEW_MESSAGE);
+ appParams.setNotificationFilter(TEST_NOTIFICATION_FILTER);
+ appParams.setMasInstanceId(TEST_MAS_INSTANCE_ID);
+ appParams.setParameterMask(TEST_PARAMETER_MASK);
+ appParams.setFolderListingSize(TEST_FOLDER_LISTING_SIZE);
+ appParams.setMessageListingSize(TEST_MESSAGE_LISTING_SIZE);
+ appParams.setSubjectLength(TEST_SUBJECT_LENGTH);
+ appParams.setCharset(TEST_CHARSET);
+ appParams.setFractionRequest(TEST_FRACTION_REQUEST);
+ appParams.setFractionDeliver(TEST_FRACTION_DELIVER);
+ appParams.setStatusIndicator(TEST_STATUS_INDICATOR);
+ appParams.setStatusValue(TEST_STATUS_VALUE);
+ appParams.setMseTime(TEST_MSE_TIME);
+ appParams.setDatabaseIdentifier(TEST_ID_HIGH, TEST_ID_LOW);
+ appParams.setConvoListingVerCounter(TEST_COUNT_LOW, TEST_COUNT_HIGH);
+ appParams.setPresenceStatus(TEST_PRESENCE_STATUS);
+ appParams.setLastActivity(TEST_LAST_ACTIVITY);
+ appParams.setConvoListingSize(TEST_CONVO_LISTING_SIZE);
+ appParams.setChatStateConvoId(TEST_ID_HIGH, TEST_ID_LOW);
+ appParams.setFolderVerCounter(TEST_COUNT_LOW, TEST_COUNT_HIGH);
+
+ byte[] encodedParams = appParams.encodeParams();
+ BluetoothMapAppParams appParamsDecoded = new BluetoothMapAppParams(encodedParams);
+
+ assertThat(appParamsDecoded.getMaxListCount()).isEqualTo(TEST_MAX_LIST_COUNT);
+ assertThat(appParamsDecoded.getStartOffset()).isEqualTo(TEST_START_OFFSET);
+ assertThat(appParamsDecoded.getFilterMessageType()).isEqualTo(TEST_FILTER_MESSAGE_TYPE);
+ assertThat(appParamsDecoded.getFilterPeriodBegin()).isEqualTo(TEST_FILTER_PERIOD_BEGIN);
+ assertThat(appParamsDecoded.getFilterPeriodEnd()).isEqualTo(TEST_FILTER_PERIOD_END);
+ assertThat(appParamsDecoded.getFilterReadStatus()).isEqualTo(TEST_FILTER_READ_STATUS);
+ assertThat(appParamsDecoded.getFilterRecipient()).isEqualTo(TEST_FILTER_RECIPIENT);
+ assertThat(appParamsDecoded.getFilterOriginator()).isEqualTo(TEST_FILTER_ORIGINATOR);
+ assertThat(appParamsDecoded.getFilterPriority()).isEqualTo(TEST_FILTER_PRIORITY);
+ assertThat(appParamsDecoded.getAttachment()).isEqualTo(TEST_ATTACHMENT);
+ assertThat(appParamsDecoded.getTransparent()).isEqualTo(TEST_TRANSPARENT);
+ assertThat(appParamsDecoded.getRetry()).isEqualTo(TEST_RETRY);
+ assertThat(appParamsDecoded.getNewMessage()).isEqualTo(TEST_NEW_MESSAGE);
+ assertThat(appParamsDecoded.getNotificationFilter()).isEqualTo(TEST_NOTIFICATION_FILTER);
+ assertThat(appParamsDecoded.getMasInstanceId()).isEqualTo(TEST_MAS_INSTANCE_ID);
+ assertThat(appParamsDecoded.getParameterMask()).isEqualTo(TEST_PARAMETER_MASK);
+ assertThat(appParamsDecoded.getFolderListingSize()).isEqualTo(TEST_FOLDER_LISTING_SIZE);
+ assertThat(appParamsDecoded.getMessageListingSize()).isEqualTo(TEST_MESSAGE_LISTING_SIZE);
+ assertThat(appParamsDecoded.getSubjectLength()).isEqualTo(TEST_SUBJECT_LENGTH);
+ assertThat(appParamsDecoded.getCharset()).isEqualTo(TEST_CHARSET);
+ assertThat(appParamsDecoded.getFractionRequest()).isEqualTo(TEST_FRACTION_REQUEST);
+ assertThat(appParamsDecoded.getFractionDeliver()).isEqualTo(TEST_FRACTION_DELIVER);
+ assertThat(appParamsDecoded.getStatusIndicator()).isEqualTo(TEST_STATUS_INDICATOR);
+ assertThat(appParamsDecoded.getStatusValue()).isEqualTo(TEST_STATUS_VALUE);
+ assertThat(appParamsDecoded.getMseTime()).isEqualTo(TEST_MSE_TIME);
+ assertThat(appParamsDecoded.getDatabaseIdentifier()).isEqualTo(ret.array());
+ assertThat(appParamsDecoded.getConvoListingVerCounter()).isEqualTo(ret.array());
+ assertThat(appParamsDecoded.getPresenceStatus()).isEqualTo(TEST_PRESENCE_STATUS);
+ assertThat(appParamsDecoded.getLastActivity()).isEqualTo(TEST_LAST_ACTIVITY);
+ assertThat(appParamsDecoded.getConvoListingSize()).isEqualTo(TEST_CONVO_LISTING_SIZE);
+ assertThat(appParamsDecoded.getChatStateConvoId()).isEqualTo(new SignedLongLong(
+ TEST_ID_HIGH, TEST_ID_LOW));
+ }
+ @Test
public void settersAndGetters() throws Exception {
ByteBuffer ret = ByteBuffer.allocate(16);
ret.putLong(TEST_COUNT_HIGH);
@@ -133,8 +209,7 @@
assertThat(appParams.getChatStateConvoIdByteArray()).isEqualTo(ret.array());
assertThat(appParams.getChatStateConvoIdString()).isEqualTo(new String(ret.array()));
assertThat(appParams.getConvoListingSize()).isEqualTo(TEST_CONVO_LISTING_SIZE);
- assertThat(appParams.getConvoListingVerCounter()).isEqualTo(
- ret.array());
+ assertThat(appParams.getConvoListingVerCounter()).isEqualTo(ret.array());
assertThat(appParams.getConvoParameterMask()).isEqualTo(TEST_CONVO_PARAMETER_MASK);
assertThat(appParams.getDatabaseIdentifier()).isEqualTo(ret.array());
assertThat(appParams.getFilterConvoId()).isEqualTo(
@@ -181,7 +256,7 @@
assertThat(appParams.getFilterLastActivityBegin()).isEqualTo(
TEST_FILTER_LAST_ACTIVITY_BEGIN);
- assertThat(appParams.getFilterLastActivityBegin()).isEqualTo(TEST_FILTER_LAST_ACTIVITY_END);
+ assertThat(appParams.getFilterLastActivityEnd()).isEqualTo(TEST_FILTER_LAST_ACTIVITY_END);
}
@Test