Refactor and reformat unit tests.

This commit is contained in:
Fernando Cejas
2016-12-19 16:21:15 -03:00
parent 076b4c7943
commit 6e59ee86d2
13 changed files with 83 additions and 73 deletions

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,8 +15,13 @@
*/
package com.fernandocejas.android10.sample.data;
import android.content.Context;
import org.junit.Rule;
import org.junit.rules.TestRule;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
/**
@@ -25,4 +30,14 @@ import org.robolectric.annotation.Config;
*/
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, application = ApplicationStub.class, sdk = 21)
public abstract class ApplicationTestCase {}
public abstract class ApplicationTestCase {
@Rule public TestRule injectMocksRule = (base, description) -> {
MockitoAnnotations.initMocks(ApplicationTestCase.this);
return base;
};
public static Context context() {
return RuntimeEnvironment.application;
}
}

View File

@@ -18,25 +18,26 @@ package com.fernandocejas.android10.sample.data.exception;
import com.fernandocejas.android10.sample.data.ApplicationTestCase;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public class RepositoryErrorBundleTest extends ApplicationTestCase {
private RepositoryErrorBundle repositoryErrorBundle;
@Mock
private Exception mockException;
@Mock private Exception mockException;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
repositoryErrorBundle = new RepositoryErrorBundle(mockException);
}
@Test
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
public void testGetErrorMessageInteraction() {
repositoryErrorBundle.getErrorMessage();

View File

@@ -15,7 +15,6 @@
*/
package com.fernandocejas.android10.sample.data.repository;
import com.fernandocejas.android10.sample.data.ApplicationTestCase;
import com.fernandocejas.android10.sample.data.entity.UserEntity;
import com.fernandocejas.android10.sample.data.entity.mapper.UserEntityDataMapper;
import com.fernandocejas.android10.sample.data.repository.datasource.UserDataStore;
@@ -27,15 +26,17 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import rx.Observable;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.verify;
public class UserDataRepositoryTest extends ApplicationTestCase {
@RunWith(MockitoJUnitRunner.class)
public class UserDataRepositoryTest {
private static final int FAKE_USER_ID = 123;
@@ -52,7 +53,6 @@ public class UserDataRepositoryTest extends ApplicationTestCase {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
userDataRepository = new UserDataRepository(mockUserDataStoreFactory,
mockUserEntityDataMapper);

View File

@@ -15,20 +15,21 @@
*/
package com.fernandocejas.android10.sample.data.repository.datasource;
import com.fernandocejas.android10.sample.data.ApplicationTestCase;
import com.fernandocejas.android10.sample.data.cache.UserCache;
import com.fernandocejas.android10.sample.data.entity.UserEntity;
import com.fernandocejas.android10.sample.data.net.RestApi;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import rx.Observable;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
public class CloudUserDataStoreTest extends ApplicationTestCase {
@RunWith(MockitoJUnitRunner.class)
public class CloudUserDataStoreTest {
private static final int FAKE_USER_ID = 765;
@@ -39,7 +40,6 @@ public class CloudUserDataStoreTest extends ApplicationTestCase {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
cloudUserDataStore = new CloudUserDataStore(mockRestApi, mockUserCache);
}

View File

@@ -15,18 +15,19 @@
*/
package com.fernandocejas.android10.sample.data.repository.datasource;
import com.fernandocejas.android10.sample.data.ApplicationTestCase;
import com.fernandocejas.android10.sample.data.cache.UserCache;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.verify;
public class DiskUserDataStoreTest extends ApplicationTestCase {
@RunWith(MockitoJUnitRunner.class)
public class DiskUserDataStoreTest {
private static final int FAKE_USER_ID = 11;
@@ -38,7 +39,6 @@ public class DiskUserDataStoreTest extends ApplicationTestCase {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
diskUserDataStore = new DiskUserDataStore(mockUserCache);
}

View File

@@ -20,7 +20,6 @@ import com.fernandocejas.android10.sample.data.cache.UserCache;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import static org.hamcrest.CoreMatchers.instanceOf;
@@ -36,14 +35,11 @@ public class UserDataStoreFactoryTest extends ApplicationTestCase {
private UserDataStoreFactory userDataStoreFactory;
@Mock
private UserCache mockUserCache;
@Mock private UserCache mockUserCache;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
userDataStoreFactory =
new UserDataStoreFactory(RuntimeEnvironment.application, mockUserCache);
userDataStoreFactory = new UserDataStoreFactory(RuntimeEnvironment.application, mockUserCache);
}
@Test

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,20 +17,20 @@ package com.fernandocejas.android10.sample.domain.exception;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public class DefaultErrorBundleTest {
private DefaultErrorBundle defaultErrorBundle;
@Mock
private Exception mockException;
@Mock private Exception mockException;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
defaultErrorBundle = new DefaultErrorBundle(mockException);
}
@@ -40,4 +40,4 @@ public class DefaultErrorBundleTest {
verify(mockException).getMessage();
}
}
}

View File

@@ -20,13 +20,15 @@ import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
import com.fernandocejas.android10.sample.domain.repository.UserRepository;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
@RunWith(MockitoJUnitRunner.class)
public class GetUserDetailsTest {
private static final int FAKE_USER_ID = 123;
@@ -39,7 +41,6 @@ public class GetUserDetailsTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
getUserDetails = new GetUserDetails(FAKE_USER_ID, mockUserRepository,
mockThreadExecutor, mockPostExecutionThread);
}

View File

@@ -20,13 +20,15 @@ import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
import com.fernandocejas.android10.sample.domain.repository.UserRepository;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
@RunWith(MockitoJUnitRunner.class)
public class GetUserListTest {
private GetUserList getUserList;
@@ -37,7 +39,6 @@ public class GetUserListTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
getUserList = new GetUserList(mockUserRepository, mockThreadExecutor,
mockPostExecutionThread);
}

View File

@@ -19,8 +19,9 @@ import com.fernandocejas.android10.sample.domain.executor.PostExecutionThread;
import com.fernandocejas.android10.sample.domain.executor.ThreadExecutor;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import rx.Observable;
import rx.Subscriber;
import rx.observers.TestSubscriber;
@@ -30,6 +31,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.mockito.BDDMockito.given;
@RunWith(MockitoJUnitRunner.class)
public class UseCaseTest {
private UseCaseTestClass useCase;
@@ -39,7 +41,6 @@ public class UseCaseTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
this.useCase = new UseCaseTestClass(mockThreadExecutor, mockPostExecutionThread);
}
@@ -67,7 +68,7 @@ public class UseCaseTest {
private static class UseCaseTestClass extends UseCase {
protected UseCaseTestClass(
UseCaseTestClass(
ThreadExecutor threadExecutor,
PostExecutionThread postExecutionThread) {
super(threadExecutor, postExecutionThread);
@@ -81,4 +82,4 @@ public class UseCaseTest {
super.execute(UseCaseSubscriber);
}
}
}
}

View File

@@ -31,7 +31,7 @@ import static org.mockito.Mockito.mock;
public class UserModelDataMapperTest extends TestCase {
private static final int FAKE_USER_ID = 123;
private static final String FAKE_FULLNAME = "Tony Stark";
private static final String FAKE_FULL_NAME = "Tony Stark";
private UserModelDataMapper userModelDataMapper;
@@ -46,7 +46,7 @@ public class UserModelDataMapperTest extends TestCase {
assertThat(userModel, is(instanceOf(UserModel.class)));
assertThat(userModel.getUserId(), is(FAKE_USER_ID));
assertThat(userModel.getFullName(), is(FAKE_FULLNAME));
assertThat(userModel.getFullName(), is(FAKE_FULL_NAME));
}
public void testTransformUserCollection() {
@@ -66,7 +66,7 @@ public class UserModelDataMapperTest extends TestCase {
private User createFakeUser() {
User user = new User(FAKE_USER_ID);
user.setFullName(FAKE_FULLNAME);
user.setFullName(FAKE_FULL_NAME);
return user;
}

View File

@@ -16,42 +16,38 @@
package com.fernandocejas.android10.sample.test.presenter;
import android.content.Context;
import android.test.AndroidTestCase;
import com.fernandocejas.android10.sample.domain.interactor.GetUserDetails;
import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper;
import com.fernandocejas.android10.sample.presentation.presenter.UserDetailsPresenter;
import com.fernandocejas.android10.sample.presentation.view.UserDetailsView;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import rx.Subscriber;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.verify;
public class UserDetailsPresenterTest extends AndroidTestCase {
private static final int FAKE_USER_ID = 123;
@RunWith(MockitoJUnitRunner.class)
public class UserDetailsPresenterTest {
private UserDetailsPresenter userDetailsPresenter;
@Mock
private Context mockContext;
@Mock
private UserDetailsView mockUserDetailsView;
@Mock
private GetUserDetails mockGetUserDetails;
@Mock
private UserModelDataMapper mockUserModelDataMapper;
@Mock private Context mockContext;
@Mock private UserDetailsView mockUserDetailsView;
@Mock private GetUserDetails mockGetUserDetails;
@Mock private UserModelDataMapper mockUserModelDataMapper;
@Override protected void setUp() throws Exception {
super.setUp();
MockitoAnnotations.initMocks(this);
userDetailsPresenter = new UserDetailsPresenter(mockGetUserDetails,
mockUserModelDataMapper);
@Before
public void setUp() {
userDetailsPresenter = new UserDetailsPresenter(mockGetUserDetails, mockUserModelDataMapper);
userDetailsPresenter.setView(mockUserDetailsView);
}
@Test
public void testUserDetailsPresenterInitialize() {
given(mockUserDetailsView.context()).willReturn(mockContext);

View File

@@ -16,39 +16,38 @@
package com.fernandocejas.android10.sample.test.presenter;
import android.content.Context;
import android.test.AndroidTestCase;
import com.fernandocejas.android10.sample.domain.interactor.GetUserList;
import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper;
import com.fernandocejas.android10.sample.presentation.presenter.UserListPresenter;
import com.fernandocejas.android10.sample.presentation.view.UserListView;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.runners.MockitoJUnitRunner;
import rx.Subscriber;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.verify;
public class UserListPresenterTest extends AndroidTestCase {
@RunWith(MockitoJUnitRunner.class)
public class UserListPresenterTest {
private UserListPresenter userListPresenter;
@Mock
private Context mockContext;
@Mock
private UserListView mockUserListView;
@Mock
private GetUserList mockGetUserList;
@Mock
private UserModelDataMapper mockUserModelDataMapper;
@Mock private Context mockContext;
@Mock private UserListView mockUserListView;
@Mock private GetUserList mockGetUserList;
@Mock private UserModelDataMapper mockUserModelDataMapper;
@Override protected void setUp() throws Exception {
super.setUp();
MockitoAnnotations.initMocks(this);
@Before
public void setUp() {
userListPresenter = new UserListPresenter(mockGetUserList, mockUserModelDataMapper);
userListPresenter.setView(mockUserListView);
}
@Test
public void testUserListPresenterInitialize() {
given(mockUserListView.context()).willReturn(mockContext);