diff --git a/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java b/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java index c0d4a9ebc9..fb6046f36e 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java @@ -274,7 +274,7 @@ public class ManageAccountsActivity extends FileActivity String name = result.getString(AccountManager.KEY_ACCOUNT_NAME); AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), name); mAccountListAdapter = new AccountListAdapter( - ManageAccountsActivity.this, + this, getUserAccountManager(), getAccountListItems(), mTintedCheck diff --git a/src/test/java/com/owncloud/android/ui/adapter/AccountListAdapterTest.java b/src/test/java/com/owncloud/android/ui/adapter/AccountListAdapterTest.java new file mode 100644 index 0000000000..35b66f79a1 --- /dev/null +++ b/src/test/java/com/owncloud/android/ui/adapter/AccountListAdapterTest.java @@ -0,0 +1,79 @@ +package com.owncloud.android.ui.adapter; + +import com.owncloud.android.R; +import com.owncloud.android.ui.activity.ManageAccountsActivity; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Class used to test the AccountList Adapter + */ +public class AccountListAdapterTest { + + private AccountListAdapter accountListAdapter; + private ManageAccountsActivity manageAccountsActivity; + + /** + * Setting up and mocking the manageAccountsActivity class, and then mocking the method calls in the construction of + * the object + */ + @Before + public void setup() { + manageAccountsActivity = mock(ManageAccountsActivity.class, Mockito.RETURNS_DEEP_STUBS); + when(manageAccountsActivity.getResources().getDimension(R.dimen.list_item_avatar_icon_radius)) + .thenReturn(new Float(0.1)); + } + + /** + * Testing the getItemCount method, in the case of an empty List + */ + @Test + public void test_getItemCountEmptyList() { + accountListAdapter = new AccountListAdapter(manageAccountsActivity, null, + new ArrayList<>(), null); + assertEquals(0, accountListAdapter.getItemCount()); + } + + /** + * Testing the getItemCount method, in a normal case, of having two accounts + */ + @Test + public void test_getItemCountNormalCase() { + List accounts = new ArrayList<>(); + accounts.add(new AccountListItem()); + accounts.add(new AccountListItem()); + + accountListAdapter = new AccountListAdapter(manageAccountsActivity, null, accounts, null); + + assertEquals(2, accountListAdapter.getItemCount()); + } + + /** + * Testing a normal case of the getItem method + */ + @Test + public void test_getItem() { + ManageAccountsActivity manageAccountsActivity = mock(ManageAccountsActivity.class, Mockito.RETURNS_DEEP_STUBS); + when(manageAccountsActivity.getResources().getDimension(R.dimen.list_item_avatar_icon_radius)) + .thenReturn(new Float(0.1)); + + List accounts = new ArrayList<>(); + accountListAdapter = new AccountListAdapter(manageAccountsActivity, null, accounts, null); + + AccountListItem accountListItem1 = new AccountListItem(); + AccountListItem accountListItem2 = new AccountListItem(); + accounts.add(accountListItem1); + accounts.add(accountListItem2); + + assertEquals(accountListItem2, accountListAdapter.getItem(1)); + } +}