From 94f56a88696ea23bfe68fb6b25fb99fa1d2b86ce Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Wed, 30 Mar 2016 08:49:42 -0400 Subject: [PATCH] Make all unit tests inherit from BaseTest --- .../androidTest/java/org/isoron/uhabits/BaseTest.java | 7 +++++++ .../java/org/isoron/uhabits/unit/HabitFixtures.java | 11 ----------- .../isoron/uhabits/unit/io/HabitsCSVExporterTest.java | 5 ++++- .../java/org/isoron/uhabits/unit/io/ImportTest.java | 6 +++++- .../isoron/uhabits/unit/models/CheckmarkListTest.java | 10 ++++++---- .../org/isoron/uhabits/unit/models/HabitTest.java | 6 ++++-- .../uhabits/unit/models/RepetitionListTest.java | 10 ++++++---- .../org/isoron/uhabits/unit/models/ScoreListTest.java | 8 +++++--- .../org/isoron/uhabits/unit/models/ScoreTest.java | 10 +++++++++- .../uhabits/unit/views/HabitHistoryViewTest.java | 2 -- 10 files changed, 46 insertions(+), 29 deletions(-) diff --git a/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java b/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java index cd2252d06..4c63a0086 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java @@ -23,7 +23,9 @@ import android.content.Context; import android.os.Looper; import android.support.test.InstrumentationRegistry; +import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.tasks.BaseTask; +import org.junit.Before; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -34,6 +36,9 @@ public class BaseTest protected Context targetContext; private static boolean isLooperPrepared; + public static final long FIXED_LOCAL_TIME = 1422172800000L; // 8:00am, January 25th, 2015 (UTC) + + @Before protected void setup() { if(!isLooperPrepared) @@ -44,6 +49,8 @@ public class BaseTest targetContext = InstrumentationRegistry.getTargetContext(); testContext = InstrumentationRegistry.getContext(); + + DateHelper.setFixedLocalTime(FIXED_LOCAL_TIME); } protected void waitForAsyncTasks() throws InterruptedException, TimeoutException diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java b/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java index ccd97bcf8..0ef45dea3 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java @@ -25,7 +25,6 @@ import org.isoron.uhabits.models.Habit; public class HabitFixtures { - public static final long FIXED_LOCAL_TIME = 1422172800000L; // 8:00am, January 25th, 2015 (UTC) public static boolean NON_DAILY_HABIT_CHECKS[] = { true, false, false, true, true, true, false, false, true, true }; @@ -85,14 +84,4 @@ public class HabitFixtures for(Habit h : Habit.getAll(true)) h.cascadeDelete(); } - - public static void fixTime() - { - DateHelper.setFixedLocalTime(FIXED_LOCAL_TIME); - } - - public static void releaseTime() - { - DateHelper.setFixedLocalTime(null); - } } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java index 42e4478c5..2c056a4aa 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java @@ -24,6 +24,7 @@ import android.support.test.InstrumentationRegistry; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DatabaseHelper; import org.isoron.uhabits.io.HabitsCSVExporter; import org.isoron.uhabits.models.Habit; @@ -44,13 +45,15 @@ import static junit.framework.Assert.assertTrue; @RunWith(AndroidJUnit4.class) @SmallTest -public class HabitsCSVExporterTest +public class HabitsCSVExporterTest extends BaseTest { private File baseDir; @Before public void setup() { + super.setup(); + HabitFixtures.purgeHabits(); HabitFixtures.createNonDailyHabit(); HabitFixtures.createEmptyHabit(); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java index 6256a282f..6f0a686b0 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java @@ -24,6 +24,7 @@ import android.support.test.InstrumentationRegistry; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DatabaseHelper; import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.io.GenericImporter; @@ -48,7 +49,7 @@ import static org.junit.Assert.fail; @RunWith(AndroidJUnit4.class) @SmallTest -public class ImportTest +public class ImportTest extends BaseTest { private File baseDir; private Context context; @@ -56,6 +57,9 @@ public class ImportTest @Before public void setup() { + super.setup(); + DateHelper.setFixedLocalTime(null); + HabitFixtures.purgeHabits(); context = InstrumentationRegistry.getInstrumentation().getContext(); baseDir = DatabaseHelper.getFilesDir("Backups"); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java index 07361a749..208a38153 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.unit.models; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; @@ -41,16 +42,17 @@ import static org.isoron.uhabits.models.Checkmark.UNCHECKED; @RunWith(AndroidJUnit4.class) @SmallTest -public class CheckmarkListTest +public class CheckmarkListTest extends BaseTest { Habit nonDailyHabit; private Habit emptyHabit; @Before - public void prepare() + public void setup() { + super.setup(); + HabitFixtures.purgeHabits(); - DateHelper.setFixedLocalTime(HabitFixtures.FIXED_LOCAL_TIME); nonDailyHabit = HabitFixtures.createNonDailyHabit(); emptyHabit = HabitFixtures.createEmptyHabit(); } @@ -167,7 +169,7 @@ public class CheckmarkListTest private void travelInTime(int days) { - DateHelper.setFixedLocalTime(HabitFixtures.FIXED_LOCAL_TIME + + DateHelper.setFixedLocalTime(FIXED_LOCAL_TIME + days * DateHelper.millisecondsInOneDay); } } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java index 04fcfd5c5..deb410ad5 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java @@ -24,6 +24,7 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.hamcrest.MatcherAssert; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; @@ -45,11 +46,12 @@ import static org.junit.Assert.fail; @RunWith(AndroidJUnit4.class) @SmallTest -public class HabitTest +public class HabitTest extends BaseTest { @Before - public void prepare() + public void setup() { + super.setup(); HabitFixtures.purgeHabits(); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java index 25210273e..77d36520c 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.unit.models; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; @@ -41,16 +42,17 @@ import static org.hamcrest.Matchers.equalTo; @RunWith(AndroidJUnit4.class) @SmallTest -public class RepetitionListTest +public class RepetitionListTest extends BaseTest { - Habit habit; + private Habit habit; private Habit emptyHabit; @Before - public void prepare() + public void setup() { + super.setup(); + HabitFixtures.purgeHabits(); - DateHelper.setFixedLocalTime(HabitFixtures.FIXED_LOCAL_TIME); habit = HabitFixtures.createNonDailyHabit(); emptyHabit = HabitFixtures.createEmptyHabit(); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java index bf9d88a1e..6b8fc8b73 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.unit.models; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.helpers.DatabaseHelper; import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.models.Habit; @@ -40,15 +41,16 @@ import static org.hamcrest.Matchers.equalTo; @RunWith(AndroidJUnit4.class) @SmallTest -public class ScoreListTest +public class ScoreListTest extends BaseTest { private Habit habit; @Before - public void prepare() + public void setup() { + super.setup(); + HabitFixtures.purgeHabits(); - DateHelper.setFixedLocalTime(HabitFixtures.FIXED_LOCAL_TIME); habit = HabitFixtures.createEmptyHabit(); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreTest.java index 886f41e90..e7023a74d 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreTest.java @@ -22,8 +22,10 @@ package org.isoron.uhabits.unit.models; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; +import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.models.Checkmark; import org.isoron.uhabits.models.Score; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -32,8 +34,14 @@ import static org.junit.Assert.assertThat; @RunWith(AndroidJUnit4.class) @SmallTest -public class ScoreTest +public class ScoreTest extends BaseTest { + @Before + public void setup() + { + super.setup(); + } + @Test public void compute_withDailyHabit() { diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java index 379db57a9..933e62509 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java @@ -46,8 +46,6 @@ public class HabitHistoryViewTest extends ViewTest super.setup(); HabitFixtures.purgeHabits(); - HabitFixtures.fixTime(); - habit = HabitFixtures.createLongHabit(); view = new HabitHistoryView(targetContext);