From d63549723c735c3e15aa96021bc62e1a5b72cb2f Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 13 May 2014 13:19:54 -0500 Subject: [PATCH] Converting unit tests --- .../todoroo/andlib/test/TodorooTestCase.java | 11 +++++ .../todoroo/andlib/test/TranslationTests.java | 23 ++++----- .../astrid/test/AstridTranslationTest.java | 9 +--- .../AstridDefaultPreferenceSpecTest.java | 49 ++++++------------- .../java/org/tasks/Freeze.java | 0 .../java/org/tasks/RemoteModelHelpers.java | 0 .../java/org/tasks/Snippet.java | 0 .../java/org/tasks/TestUtilities.java | 11 +++-- .../org/tasks/date/DateTimeUtilsTest.java | 24 +++------ .../test/TodorooRobolectricTestCase.java | 12 ----- 10 files changed, 50 insertions(+), 89 deletions(-) rename astrid/src/{test => androidTest}/java/com/todoroo/andlib/test/TranslationTests.java (94%) rename astrid/src/{test => androidTest}/java/com/todoroo/astrid/test/AstridTranslationTest.java (89%) rename astrid/src/{test => androidTest}/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java (72%) rename astrid/src/{test => androidTest}/java/org/tasks/Freeze.java (100%) rename astrid/src/{test => androidTest}/java/org/tasks/RemoteModelHelpers.java (100%) rename astrid/src/{test => androidTest}/java/org/tasks/Snippet.java (100%) rename astrid/src/{test => androidTest}/java/org/tasks/TestUtilities.java (55%) rename astrid/src/{test => androidTest}/java/org/tasks/date/DateTimeUtilsTest.java (72%) diff --git a/astrid/src/androidTest/java/com/todoroo/andlib/test/TodorooTestCase.java b/astrid/src/androidTest/java/com/todoroo/andlib/test/TodorooTestCase.java index 510121559..8af8ef979 100644 --- a/astrid/src/androidTest/java/com/todoroo/andlib/test/TodorooTestCase.java +++ b/astrid/src/androidTest/java/com/todoroo/andlib/test/TodorooTestCase.java @@ -54,4 +54,15 @@ public class TodorooTestCase extends AndroidTestCase { getContext().getResources().updateConfiguration(config, metrics); } + /** + * Loop through each locale and call runnable + */ + public void forEachLocale(Runnable r) { + Locale[] locales = Locale.getAvailableLocales(); + for(Locale locale : locales) { + setLocale(locale); + + r.run(); + } + } } diff --git a/astrid/src/test/java/com/todoroo/andlib/test/TranslationTests.java b/astrid/src/androidTest/java/com/todoroo/andlib/test/TranslationTests.java similarity index 94% rename from astrid/src/test/java/com/todoroo/andlib/test/TranslationTests.java rename to astrid/src/androidTest/java/com/todoroo/andlib/test/TranslationTests.java index b8e0a1927..b2f7e22c4 100644 --- a/astrid/src/test/java/com/todoroo/andlib/test/TranslationTests.java +++ b/astrid/src/androidTest/java/com/todoroo/andlib/test/TranslationTests.java @@ -8,7 +8,6 @@ package com.todoroo.andlib.test; import android.content.res.Resources; -import org.junit.Test; import org.tasks.R; import java.lang.reflect.Field; @@ -18,9 +17,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import static org.tasks.date.DateTimeUtils.newDate; /** @@ -31,7 +27,7 @@ import static org.tasks.date.DateTimeUtils.newDate; * @author Tim Su * */ -abstract public class TranslationTests extends TodorooRobolectricTestCase { +abstract public class TranslationTests extends TodorooTestCase { // --- abstract methods @@ -114,7 +110,6 @@ abstract public class TranslationTests extends TodorooRobolectricTestCase { /** * Internal test of format string parser */ - @Test public void testFormatStringParser() { String s = "abc"; FormatStringData data = new FormatStringData(s); @@ -148,9 +143,8 @@ abstract public class TranslationTests extends TodorooRobolectricTestCase { * Test that the format specifiers in translations match exactly the * translations in the default text */ - @Test public void testFormatStringsMatch() throws Exception { - final Resources r = getRobolectricContext().getResources(); + final Resources r = getContext().getResources(); final int[] strings = getResourceIds(getStringResources()); final FormatStringData[] formatStrings = new FormatStringData[strings.length]; @@ -173,8 +167,11 @@ abstract public class TranslationTests extends TodorooRobolectricTestCase { Locale locale = r.getConfiguration().locale; for(int i = 0; i < strings.length; i++) { try { - if (strings[i] == R.string.premium_speech_bubble_2) // Special exception--this string contains a % character - continue; + switch(strings[i]) { + case R.string.premium_speech_bubble_2: // Special exception--this string contains a % character + case R.string.abc_shareactionprovider_share_with_application: + continue; + } String string = r.getString(strings[i]); FormatStringData newFS = new FormatStringData(string); if(!newFS.matches(formatStrings[i])) { @@ -197,9 +194,8 @@ abstract public class TranslationTests extends TodorooRobolectricTestCase { /** * Test that date formatters parse correctly */ - @Test public void testDateFormats() throws Exception { - final Resources r = getRobolectricContext().getResources(); + final Resources r = getContext().getResources(); final StringBuilder failures = new StringBuilder(); final int[] dateStrings = getDateFormatStrings(); @@ -234,9 +230,8 @@ abstract public class TranslationTests extends TodorooRobolectricTestCase { /** * Test that there are the same number of array entries in each locale */ - @Test public void testArraySizesMatch() throws Exception { - final Resources r = getRobolectricContext().getResources(); + final Resources r = getContext().getResources(); final int[] arrays = getResourceIds(getArrayResources()); final int[] sizes = new int[arrays.length]; final StringBuilder failures = new StringBuilder(); diff --git a/astrid/src/test/java/com/todoroo/astrid/test/AstridTranslationTest.java b/astrid/src/androidTest/java/com/todoroo/astrid/test/AstridTranslationTest.java similarity index 89% rename from astrid/src/test/java/com/todoroo/astrid/test/AstridTranslationTest.java rename to astrid/src/androidTest/java/com/todoroo/astrid/test/AstridTranslationTest.java index 63db76208..bc48d6f1f 100644 --- a/astrid/src/test/java/com/todoroo/astrid/test/AstridTranslationTest.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/test/AstridTranslationTest.java @@ -9,16 +9,10 @@ import android.content.res.Resources; import com.todoroo.andlib.test.TranslationTests; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; import org.tasks.R; import java.util.Locale; -import static org.junit.Assert.assertEquals; - -@RunWith(RobolectricTestRunner.class) public class AstridTranslationTest extends TranslationTests { @Override @@ -55,9 +49,8 @@ public class AstridTranslationTest extends TranslationTests { /** * Test dollar sign resources */ - @Test public void testSpecialStringsMatch() throws Exception { - final Resources r = getRobolectricContext().getResources(); + final Resources r = getContext().getResources(); final StringBuilder failures = new StringBuilder(); forEachLocale(new Runnable() { diff --git a/astrid/src/test/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java b/astrid/src/androidTest/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java similarity index 72% rename from astrid/src/test/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java rename to astrid/src/androidTest/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java index 8392ada73..998084a3d 100644 --- a/astrid/src/test/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpecTest.java @@ -1,14 +1,10 @@ package com.todoroo.astrid.utility; import android.annotation.SuppressLint; +import android.test.AndroidTestCase; import com.todoroo.andlib.utility.Preferences; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; import org.tasks.R; import java.util.concurrent.TimeUnit; @@ -17,31 +13,23 @@ import static com.todoroo.andlib.utility.Preferences.getBoolean; import static com.todoroo.andlib.utility.Preferences.getInt; import static com.todoroo.andlib.utility.Preferences.setStringFromInteger; import static com.todoroo.astrid.utility.AstridDefaultPreferenceSpec.migrateToNewQuietHours; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import static org.tasks.TestUtilities.clearPreferences; -@RunWith(RobolectricTestRunner.class) -public class AstridDefaultPreferenceSpecTest { +public class AstridDefaultPreferenceSpecTest extends AndroidTestCase { @SuppressLint("NewApi") private static final int MILLIS_PER_HOUR = (int) TimeUnit.HOURS.toMillis(1); - @Before - public void before() { - clearPreferences(); + @Override + public void setUp() throws Exception { + super.setUp(); - assertFalse(hasMigrated()); - } + clearPreferences(getContext()); - @After - public void after() { - assertTrue(hasMigrated()); + assertFalse(hasMigrated()); } - @Test - public void quietHoursEnabledAfterMigration() { + public void testQuietHoursEnabledAfterMigration() { setOldQuietHoursStart(1); migrateToNewQuietHours(); @@ -49,8 +37,7 @@ public class AstridDefaultPreferenceSpecTest { assertTrue(quietHoursEnabled()); } - @Test - public void quietHoursDisabledAfterMigration() { + public void testQuietHoursDisabledAfterMigration() { Preferences.setString(R.string.p_rmd_quietStart_old, ""); migrateToNewQuietHours(); @@ -58,8 +45,7 @@ public class AstridDefaultPreferenceSpecTest { assertFalse(quietHoursEnabled()); } - @Test - public void migrateFromStartOfDefaultReminderTimeArray() { + public void testMigrateFromStartOfDefaultReminderTimeArray() { setOldReminderTime(0); migrateToNewQuietHours(); @@ -67,8 +53,7 @@ public class AstridDefaultPreferenceSpecTest { assertEquals(0, newReminderTime()); } - @Test - public void migrateFromEndOfDefaultReminderTimeArray() { + public void testMigrateFromEndOfDefaultReminderTimeArray() { setOldReminderTime(23); migrateToNewQuietHours(); @@ -76,8 +61,7 @@ public class AstridDefaultPreferenceSpecTest { assertEquals(23 * MILLIS_PER_HOUR, newReminderTime()); } - @Test - public void migrateFromStartOfQuietHourStartArray() { + public void testMigrateFromStartOfQuietHourStartArray() { setOldQuietHoursStart(1); migrateToNewQuietHours(); @@ -85,8 +69,7 @@ public class AstridDefaultPreferenceSpecTest { assertEquals(MILLIS_PER_HOUR, newQuietHoursStartTime()); } - @Test - public void migrateFromEndOfQuietHoursStartArray() { + public void testMigrateFromEndOfQuietHoursStartArray() { setOldQuietHoursStart(23); migrateToNewQuietHours(); @@ -94,8 +77,7 @@ public class AstridDefaultPreferenceSpecTest { assertEquals(23 * MILLIS_PER_HOUR, newQuietHoursStartTime()); } - @Test - public void migrateFromStartOfQuietHoursEndArray() { + public void testMigrateFromStartOfQuietHoursEndArray() { setOldQuietHoursStart(1); setOldQuietHoursEnd(0); @@ -104,8 +86,7 @@ public class AstridDefaultPreferenceSpecTest { assertEquals(0, newQuietHoursEndTime()); } - @Test - public void migrateFromEndOfQuietHoursEndArray() { + public void testMigrateFromEndOfQuietHoursEndArray() { setOldQuietHoursStart(1); setOldQuietHoursEnd(23); diff --git a/astrid/src/test/java/org/tasks/Freeze.java b/astrid/src/androidTest/java/org/tasks/Freeze.java similarity index 100% rename from astrid/src/test/java/org/tasks/Freeze.java rename to astrid/src/androidTest/java/org/tasks/Freeze.java diff --git a/astrid/src/test/java/org/tasks/RemoteModelHelpers.java b/astrid/src/androidTest/java/org/tasks/RemoteModelHelpers.java similarity index 100% rename from astrid/src/test/java/org/tasks/RemoteModelHelpers.java rename to astrid/src/androidTest/java/org/tasks/RemoteModelHelpers.java diff --git a/astrid/src/test/java/org/tasks/Snippet.java b/astrid/src/androidTest/java/org/tasks/Snippet.java similarity index 100% rename from astrid/src/test/java/org/tasks/Snippet.java rename to astrid/src/androidTest/java/org/tasks/Snippet.java diff --git a/astrid/src/test/java/org/tasks/TestUtilities.java b/astrid/src/androidTest/java/org/tasks/TestUtilities.java similarity index 55% rename from astrid/src/test/java/org/tasks/TestUtilities.java rename to astrid/src/androidTest/java/org/tasks/TestUtilities.java index 85e4cf75a..1f5f7acd1 100644 --- a/astrid/src/test/java/org/tasks/TestUtilities.java +++ b/astrid/src/androidTest/java/org/tasks/TestUtilities.java @@ -1,20 +1,21 @@ package org.tasks; +import android.content.Context; + import com.todoroo.astrid.utility.AstridPreferences; import static com.todoroo.andlib.utility.Preferences.getPrefs; -import static org.robolectric.Robolectric.getShadowApplication; public class TestUtilities { - public static void clearPreferences() { - getPrefs(getShadowApplication().getApplicationContext()) + public static void clearPreferences(Context context) { + getPrefs(context) .edit() .clear() .commit(); } - public static void resetPreferences() { - clearPreferences(); + public static void resetPreferences(Context context) { + clearPreferences(context); AstridPreferences.setPreferenceDefaults(); } } diff --git a/astrid/src/test/java/org/tasks/date/DateTimeUtilsTest.java b/astrid/src/androidTest/java/org/tasks/date/DateTimeUtilsTest.java similarity index 72% rename from astrid/src/test/java/org/tasks/date/DateTimeUtilsTest.java rename to astrid/src/androidTest/java/org/tasks/date/DateTimeUtilsTest.java index 09ab62259..6533e6d72 100644 --- a/astrid/src/test/java/org/tasks/date/DateTimeUtilsTest.java +++ b/astrid/src/androidTest/java/org/tasks/date/DateTimeUtilsTest.java @@ -1,52 +1,44 @@ package org.tasks.date; +import android.test.AndroidTestCase; + import org.joda.time.DateTime; import org.joda.time.DateTimeZone; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; import org.tasks.Snippet; import java.util.Date; -import static org.junit.Assert.assertEquals; import static org.tasks.Freeze.freezeAt; import static org.tasks.date.DateTimeUtils.currentTimeMillis; import static org.tasks.date.DateTimeUtils.newDate; import static org.tasks.date.DateTimeUtils.newDateUtc; -@RunWith(RobolectricTestRunner.class) -public class DateTimeUtilsTest { +public class DateTimeUtilsTest extends AndroidTestCase { private final DateTime now = new DateTime(2014, 1, 1, 15, 17, 53, 0); private final Date nowAsDate = new Date(114, 0, 1, 15, 17, 53); - @Test - public void getCurrentTime() { + public void testGetCurrentTime() { freezeAt(now).thawAfter(new Snippet() {{ assertEquals(now.getMillis(), currentTimeMillis()); }}); } - @Test - public void getNowAsDate() { + public void testGetNowAsDate() { freezeAt(now).thawAfter(new Snippet() {{ assertEquals(nowAsDate, newDate()); }}); } - @Test - public void createNewDate() { + public void testCreateNewDate() { assertEquals(new Date(114, 0, 1), newDate(2014, 1, 1)); } - @Test - public void createNewDateTime() { + public void testCreateNewDateTime() { assertEquals(new Date(114, 0, 1, 15, 17, 53), newDate(2014, 1, 1, 15, 17, 53)); } - @Test - public void createNewUtcDate() { + public void testCreateNewUtcDate() { DateTime utc = now.toDateTime(DateTimeZone.UTC); Date actual = newDateUtc(utc.getYear(), utc.getMonthOfYear(), utc.getDayOfMonth(), utc.getHourOfDay(), utc.getMinuteOfHour(), utc.getSecondOfMinute()); assertEquals(utc.getMillis(), actual.getTime()); diff --git a/astrid/src/test/java/com/todoroo/andlib/test/TodorooRobolectricTestCase.java b/astrid/src/test/java/com/todoroo/andlib/test/TodorooRobolectricTestCase.java index 760810f57..27ad35abe 100644 --- a/astrid/src/test/java/com/todoroo/andlib/test/TodorooRobolectricTestCase.java +++ b/astrid/src/test/java/com/todoroo/andlib/test/TodorooRobolectricTestCase.java @@ -42,18 +42,6 @@ public class TodorooRobolectricTestCase { DependencyInjectionService.getInstance().inject(this); } - /** - * Loop through each locale and call runnable - */ - public static void forEachLocale(Runnable r) { - Locale[] locales = Locale.getAvailableLocales(); - for(Locale locale : locales) { - setLocale(locale); - - r.run(); - } - } - /** * Sets locale */