Add test class for the AccountListAdapter

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Nick Antoniou 2019-05-13 22:51:09 +03:00 committed by Andy Scherzinger
parent e44389047f
commit 13b7219d2a
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B
2 changed files with 80 additions and 1 deletions

View file

@ -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

View file

@ -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<AccountListItem> 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<AccountListItem> 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));
}
}