diff --git a/app/build.gradle b/app/build.gradle index 8d1e3ce1f..8dbeffb25 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,6 +45,9 @@ android { outputs.upToDateWhen { false } showStandardStreams = true } + jacoco { + includeNoLocationClasses = true + } } } } @@ -60,6 +63,7 @@ dependencies { androidTestCompile "com.google.dexmaker:dexmaker:1.2" androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile 'org.mockito:mockito-core:1.10.19' + androidTestCompile 'com.google.guava:guava:20.0' apt 'com.google.dagger:dagger-compiler:2.2' apt 'com.jakewharton:butterknife-compiler:8.0.1' @@ -79,6 +83,7 @@ dependencies { compile 'org.jetbrains:annotations-java5:15.0' compile 'com.google.code.gson:gson:2.8.0' compile 'com.google.code.findbugs:jsr305:2.0.1' + compile 'com.google.guava:guava:20.0' provided 'javax.annotation:jsr250-api:1.0' @@ -87,23 +92,13 @@ dependencies { } testApt 'com.google.dagger:dagger-compiler:2.2' + testApt 'com.google.guava:guava:20.0' testCompile 'junit:junit:4.12' testCompile 'org.hamcrest:hamcrest-library:1.3' testCompile 'org.mockito:mockito-core:1.10.19' testCompile 'org.json:json:20160810' - - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.1') { - exclude group: 'com.android.support' - } - - androidTestCompile('com.android.support.test.espresso:espresso-intents:2.2.1') { - exclude group: 'com.android.support' - } - - androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.1') { - exclude group: 'com.android.support' - } + testCompile 'org.robolectric:robolectric:3.3.2' } retrolambda { @@ -111,7 +106,7 @@ retrolambda { } jacoco { - toolVersion = "0.7.5.201505241946" + toolVersion = "0.7.6.201602180812" } task coverageReport(type: JacocoReport, dependsOn: ['testDebugUnitTest']) { @@ -133,6 +128,7 @@ task coverageReport(type: JacocoReport, dependsOn: ['testDebugUnitTest']) { '**/*$ViewBinder*', '**/*MembersInjector*', '**/*_Provide*', + '**/*Module_*', '**/com/android/**/*', 'android/**/*', '**/*Dagger*', diff --git a/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java b/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java index f42f6d526..38258775d 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/BaseAndroidTest.java @@ -38,7 +38,7 @@ import java.util.concurrent.*; import static junit.framework.Assert.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; public class BaseAndroidTest { diff --git a/app/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java b/app/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java index 05c2c85c6..bf252ef61 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/HabitLoggerTest.java @@ -31,7 +31,7 @@ import org.junit.runner.*; import java.io.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; @RunWith(AndroidJUnit4.class) @MediumTest diff --git a/app/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java b/app/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java index 46b3c03c3..dea8f5867 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/HabitsApplicationTest.java @@ -30,7 +30,7 @@ import org.junit.runner.*; import java.io.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; @RunWith(AndroidJUnit4.class) @MediumTest diff --git a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java index 0427c07a0..7c04cd1f1 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/HintViewTest.java @@ -28,7 +28,7 @@ import org.junit.*; import org.junit.runner.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.mockito.Mockito.*; @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.java index 8e84ad582..4e3ccd64a 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/activities/habits/list/views/NumberButtonViewTest.java @@ -29,7 +29,7 @@ import org.junit.*; import org.junit.runner.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.mockito.Mockito.*; @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java b/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java index a63bbd865..343e64ea2 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/io/ImportTest.java @@ -33,7 +33,7 @@ import org.junit.runner.*; import java.io.*; import java.util.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteCheckmarkListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteCheckmarkListTest.java index 32e6df853..f4f779950 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteCheckmarkListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteCheckmarkListTest.java @@ -34,7 +34,7 @@ import org.junit.runner.*; import java.util.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; @RunWith(AndroidJUnit4.class) @MediumTest diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteRepetitionListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteRepetitionListTest.java index 766271ada..08eea948b 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteRepetitionListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteRepetitionListTest.java @@ -35,7 +35,7 @@ import org.junit.runner.*; import java.util.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.core.IsNot.not; import static org.isoron.uhabits.models.Checkmark.*; diff --git a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteScoreListTest.java b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteScoreListTest.java index db3f1aaa8..a4214933c 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteScoreListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/models/sqlite/SQLiteScoreListTest.java @@ -33,8 +33,8 @@ import org.junit.runner.*; import java.util.*; +import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; @SuppressWarnings("JavaDoc") @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java index daaf5e425..aa999d7b3 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportCSVTaskTest.java @@ -32,7 +32,7 @@ import java.util.*; import static junit.framework.Assert.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.core.IsNot.not; @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java index e3f7e4a7c..76f5e2315 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/tasks/ExportDBTaskTest.java @@ -30,7 +30,7 @@ import java.io.*; import static junit.framework.Assert.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.hamcrest.core.IsNot.not; @RunWith(AndroidJUnit4.class) diff --git a/app/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java b/app/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java index 10d7bd870..9e25e12ef 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/widgets/CheckmarkWidgetTest.java @@ -29,7 +29,7 @@ import org.junit.*; import org.junit.runner.*; import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.CoreMatchers.*; import static org.isoron.uhabits.models.Checkmark.*; @RunWith(AndroidJUnit4.class) diff --git a/app/src/main/java/org/isoron/uhabits/activities/BaseMenu.java b/app/src/main/java/org/isoron/uhabits/activities/BaseMenu.java index f9d7bf077..0a1e8026c 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/BaseMenu.java +++ b/app/src/main/java/org/isoron/uhabits/activities/BaseMenu.java @@ -64,14 +64,14 @@ public abstract class BaseMenu /** * Called when the menu is first displayed. *
- * This method cannot be overridden. The application should override the
- * methods onCreate(Menu) and getMenuResourceId instead.
+ * This method should not be overridden. The application should override
+ * the methods onCreate(Menu) and getMenuResourceId instead.
*
* @param inflater a menu inflater, for creating the menu
* @param menu the menu that is being created.
*/
- public final void onCreate(@NonNull MenuInflater inflater,
- @NonNull Menu menu)
+ public void onCreate(@NonNull MenuInflater inflater,
+ @NonNull Menu menu)
{
menu.clear();
inflater.inflate(getMenuResourceId(), menu);
diff --git a/app/src/test/java/org/isoron/uhabits/activities/BaseActivityTest.java b/app/src/test/java/org/isoron/uhabits/activities/BaseActivityTest.java
new file mode 100644
index 000000000..e034422b1
--- /dev/null
+++ b/app/src/test/java/org/isoron/uhabits/activities/BaseActivityTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2016 Álinson Santos Xavier