diff --git a/astrid/src/test/java/com/todoroo/andlib/utility/DateUtilitiesTest.java b/astrid/src/androidTest/java/com/todoroo/andlib/utility/DateUtilitiesTest.java similarity index 80% rename from astrid/src/test/java/com/todoroo/andlib/utility/DateUtilitiesTest.java rename to astrid/src/androidTest/java/com/todoroo/andlib/utility/DateUtilitiesTest.java index 050c7dc27..0439f8caa 100644 --- a/astrid/src/test/java/com/todoroo/andlib/utility/DateUtilitiesTest.java +++ b/astrid/src/androidTest/java/com/todoroo/andlib/utility/DateUtilitiesTest.java @@ -5,19 +5,16 @@ */ package com.todoroo.andlib.utility; +import android.content.res.Configuration; +import android.test.AndroidTestCase; +import android.util.DisplayMetrics; + import org.joda.time.DateTime; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; import org.tasks.Snippet; import java.util.Date; import java.util.Locale; -import static com.todoroo.andlib.test.TodorooRobolectricTestCase.forEachLocale; -import static com.todoroo.andlib.test.TodorooRobolectricTestCase.getRobolectricContext; import static com.todoroo.andlib.utility.DateUtilities.addCalendarMonthsToUnixtime; import static com.todoroo.andlib.utility.DateUtilities.clearTime; import static com.todoroo.andlib.utility.DateUtilities.getDateString; @@ -28,30 +25,40 @@ import static com.todoroo.andlib.utility.DateUtilities.getWeekday; import static com.todoroo.andlib.utility.DateUtilities.getWeekdayShort; import static com.todoroo.andlib.utility.DateUtilities.isEndOfMonth; import static com.todoroo.andlib.utility.DateUtilities.oneMonthFromNow; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import static org.tasks.Freeze.freezeAt; import static org.tasks.date.DateTimeUtils.newDate; -@RunWith(RobolectricTestRunner.class) -public class DateUtilitiesTest { +public class DateUtilitiesTest extends AndroidTestCase { private static Locale defaultLocale; - @Before - public void before() { + public void setUp() { defaultLocale = Locale.getDefault(); Locale.setDefault(Locale.US); } - @After - public void after() { + public void tearDown() { DateUtilities.is24HourOverride = null; Locale.setDefault(defaultLocale); } - @Test + private void setLocale(Locale locale) { + Locale.setDefault(locale); + Configuration config = new Configuration(); + config.locale = locale; + DisplayMetrics metrics = getContext().getResources().getDisplayMetrics(); + getContext().getResources().updateConfiguration(config, metrics); + } + + public void forEachLocale(Runnable r) { + Locale[] locales = Locale.getAvailableLocales(); + for(Locale locale : locales) { + setLocale(locale); + + r.run(); + } + } + public void testTimeString() { forEachLocale(new Runnable() { public void run() { @@ -60,19 +67,18 @@ public class DateUtilitiesTest { DateUtilities.is24HourOverride = false; for (int i = 0; i < 24; i++) { d.setHours(i); - DateUtilities.getTimeString(getRobolectricContext(), d); + DateUtilities.getTimeString(getContext(), d); } DateUtilities.is24HourOverride = true; for (int i = 0; i < 24; i++) { d.setHours(i); - DateUtilities.getTimeString(getRobolectricContext(), d); + DateUtilities.getTimeString(getContext(), d); } } }); } - @Test public void testDateString() { forEachLocale(new Runnable() { public void run() { @@ -86,47 +92,40 @@ public class DateUtilitiesTest { }); } - @Test - public void get24HourTime() { + public void testGet24HourTime() { DateUtilities.is24HourOverride = true; assertEquals("9:05", getTimeString(null, newDate(2014, 1, 4, 9, 5, 36))); assertEquals("13:00", getTimeString(null, newDate(2014, 1, 4, 13, 0, 1))); } - @Test - public void getTime() { + public void testGetTime() { DateUtilities.is24HourOverride = false; assertEquals("9:05 AM", getTimeString(null, newDate(2014, 1, 4, 9, 5, 36))); assertEquals("1:05 PM", getTimeString(null, newDate(2014, 1, 4, 13, 5, 36))); } - @Test - public void getTimeWithNoMinutes() { + public void testGetTimeWithNoMinutes() { DateUtilities.is24HourOverride = false; assertEquals("1 PM", getTimeString(null, newDate(2014, 1, 4, 13, 0, 59))); // derp? } - @Test - public void getDateStringWithYear() { + public void testGetDateStringWithYear() { assertEquals("Jan 4, 2014", getDateString(newDate(2014, 1, 4, 0, 0, 0))); } - @Test - public void getDateStringHidingYear() { + public void testGetDateStringHidingYear() { freezeAt(newDate(2014, 1, 1)).thawAfter(new Snippet() {{ assertEquals("Jan 1", getDateStringHideYear(newDate())); }}); } - @Test - public void getDateStringWithDifferentYear() { + public void testGetDateStringWithDifferentYear() { freezeAt(newDate(2013, 12, 31)).thawAfter(new Snippet() {{ assertEquals("Jan 1\n2014", getDateStringHideYear(newDate(2014, 1, 1))); }}); } - @Test - public void oneMonthFromStartOfDecember() { + public void testOneMonthFromStartOfDecember() { DateTime now = new DateTime(2013, 12, 1, 12, 19, 45, 192); final long expected = new DateTime(2014, 1, 1, 12, 19, 45, 192).getMillis(); @@ -135,8 +134,7 @@ public class DateUtilitiesTest { }}); } - @Test - public void oneMonthFromEndOfDecember() { + public void testOneMonthFromEndOfDecember() { DateTime now = new DateTime(2013, 12, 31, 16, 31, 20, 597); final long expected = new DateTime(2014, 1, 31, 16, 31, 20, 597).getMillis(); @@ -145,8 +143,7 @@ public class DateUtilitiesTest { }}); } - @Test - public void getSixMonthsFromEndOfDecember() { + public void testGetSixMonthsFromEndOfDecember() { final DateTime now = new DateTime(2013, 12, 31, 17, 17, 32, 900); final long expected = new DateTime(2014, 7, 1, 17, 17, 32, 900).getMillis(); @@ -155,8 +152,7 @@ public class DateUtilitiesTest { }}); } - @Test - public void oneMonthFromEndOfJanuary() { + public void testOneMonthFromEndOfJanuary() { DateTime now = new DateTime(2014, 1, 31, 12, 54, 33, 175); final long expected = new DateTime(2014, 3, 3, 12, 54, 33, 175).getMillis(); @@ -165,8 +161,7 @@ public class DateUtilitiesTest { }}); } - @Test - public void oneMonthFromEndOfFebruary() { + public void testOneMonthFromEndOfFebruary() { DateTime now = new DateTime(2014, 2, 28, 9, 19, 7, 990); final long expected = new DateTime(2014, 3, 28, 9, 19, 7, 990).getMillis(); @@ -175,24 +170,21 @@ public class DateUtilitiesTest { }}); } - @Test - public void clearTimeFromDate() { + public void testClearTimeFromDate() { DateTime now = new DateTime(2014, 1, 3, 10, 34, 32, 98); assertEquals( now.withMillisOfDay(0).getMillis(), clearTime(new Date(now.getMillis()))); } - @Test - public void shouldGetStartOfDay() { + public void testShouldGetStartOfDay() { DateTime now = new DateTime(2014, 1, 3, 10, 41, 41, 520); assertEquals( now.withMillisOfDay(0).getMillis(), getStartOfDay(now.getMillis())); } - @Test - public void checkEndOfMonth() { + public void testCheckEndOfMonth() { assertTrue(isEndOfMonth(newDate(2014, 1, 31))); assertTrue(isEndOfMonth(newDate(2014, 2, 28))); assertTrue(isEndOfMonth(newDate(2014, 3, 31))); @@ -207,8 +199,7 @@ public class DateUtilitiesTest { assertTrue(isEndOfMonth(newDate(2014, 12, 31))); } - @Test - public void notTheEndOfTheMonth() { + public void testNotTheEndOfTheMonth() { for (int month = 1; month <= 12; month++) { int lastDay = new DateTime(2014, month, 1, 0, 0, 0, 0).dayOfMonth().getMaximumValue(); for (int day = 1; day < lastDay; day++) { @@ -217,14 +208,12 @@ public class DateUtilitiesTest { } } - @Test - public void checkEndOfMonthDuringLeapYear() { + public void testCheckEndOfMonthDuringLeapYear() { assertFalse(isEndOfMonth(newDate(2016, 2, 28))); assertTrue(isEndOfMonth(newDate(2016, 2, 29))); } - @Test - public void getWeekdayLongString() { + public void testGetWeekdayLongString() { assertEquals("Sunday", getWeekday(newDate(2013, 12, 29))); assertEquals("Monday", getWeekday(newDate(2013, 12, 30))); assertEquals("Tuesday", getWeekday(newDate(2013, 12, 31))); @@ -234,8 +223,7 @@ public class DateUtilitiesTest { assertEquals("Saturday", getWeekday(newDate(2014, 1, 4))); } - @Test - public void getWeekdayShortString() { + public void testGetWeekdayShortString() { assertEquals("Sun", getWeekdayShort(newDate(2013, 12, 29))); assertEquals("Mon", getWeekdayShort(newDate(2013, 12, 30))); assertEquals("Tue", getWeekdayShort(newDate(2013, 12, 31))); @@ -245,19 +233,16 @@ public class DateUtilitiesTest { assertEquals("Sat", getWeekdayShort(newDate(2014, 1, 4))); } - @Test - public void addMonthsToTimestamp() { + public void testAddMonthsToTimestamp() { assertEquals(newDate(2014, 1, 1).getTime(), addCalendarMonthsToUnixtime(newDate(2013, 12, 1).getTime(), 1)); assertEquals(newDate(2014, 12, 31).getTime(), addCalendarMonthsToUnixtime(newDate(2013, 12, 31).getTime(), 12)); } - @Test - public void addMonthsWithLessDays() { + public void testAddMonthsWithLessDays() { assertEquals(newDate(2014, 3, 3).getTime(), addCalendarMonthsToUnixtime(newDate(2013, 12, 31).getTime(), 2)); } - @Test - public void addMonthsWithMoreDays() { + public void testAddMonthsWithMoreDays() { assertEquals(newDate(2014, 1, 30).getTime(), addCalendarMonthsToUnixtime(newDate(2013, 11, 30).getTime(), 2)); } } diff --git a/astrid/src/test/java/com/todoroo/astrid/data/TaskTest.java b/astrid/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java similarity index 76% rename from astrid/src/test/java/com/todoroo/astrid/data/TaskTest.java rename to astrid/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java index 8c0c8d99f..0d057a6f8 100644 --- a/astrid/src/test/java/com/todoroo/astrid/data/TaskTest.java +++ b/astrid/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java @@ -1,15 +1,8 @@ package com.todoroo.astrid.data; -import android.content.ContentValues; - -import com.todoroo.astrid.utility.AstridPreferences; +import android.test.AndroidTestCase; import org.joda.time.DateTime; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; import org.tasks.Snippet; import java.util.ArrayList; @@ -30,72 +23,58 @@ import static com.todoroo.astrid.data.Task.URGENCY_TODAY; import static com.todoroo.astrid.data.Task.URGENCY_TOMORROW; import static com.todoroo.astrid.data.Task.createDueDate; import static com.todoroo.astrid.data.Task.hasDueTime; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; import static org.tasks.Freeze.freezeAt; import static org.tasks.Freeze.thaw; import static org.tasks.date.DateTimeUtils.currentTimeMillis; -@RunWith(RobolectricTestRunner.class) -public class TaskTest { +public class TaskTest extends AndroidTestCase { private static final DateTime now = new DateTime(2013, 12, 31, 16, 10, 53, 452); private static final DateTime specificDueDate = new DateTime(2014, 3, 17, 9, 54, 27, 959); - @Before - public void before() { + public void setUp() { freezeAt(now); } - @After - public void after() { + public void tearDown() { thaw(); } - @Test - public void createDueDateNoUrgency() { + public void testCreateDueDateNoUrgency() { assertEquals(0, createDueDate(URGENCY_NONE, 1L)); } - @Test - public void createDueDateToday() { + public void testCreateDueDateToday() { long expected = new DateTime(2013, 12, 31, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_TODAY, -1L)); } - @Test - public void createDueDateTomorrow() { + public void testCreateDueDateTomorrow() { long expected = new DateTime(2014, 1, 1, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_TOMORROW, -1L)); } - @Test - public void createDueDateDayAfter() { + public void testCreateDueDateDayAfter() { long expected = new DateTime(2014, 1, 2, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_DAY_AFTER, -1L)); } - @Test - public void createDueDateNextWeek() { + public void testCreateDueDateNextWeek() { long expected = new DateTime(2014, 1, 7, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_NEXT_WEEK, -1L)); } - @Test - public void createDueDateInTwoWeeks() { + public void testCreateDueDateInTwoWeeks() { long expected = new DateTime(2014, 1, 14, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_IN_TWO_WEEKS, -1L)); } - @Test - public void createDueDateNextMonth() { + public void testCreateDueDateNextMonth() { long expected = new DateTime(2014, 1, 31, 12, 0, 0, 0).getMillis(); assertEquals(expected, createDueDate(URGENCY_NEXT_MONTH, -1L)); } - @Test - public void removeTimeForSpecificDay() { + public void testRemoveTimeForSpecificDay() { long expected = specificDueDate .withHourOfDay(12) .withMinuteOfHour(0) @@ -105,8 +84,7 @@ public class TaskTest { assertEquals(expected, createDueDate(URGENCY_SPECIFIC_DAY, specificDueDate.getMillis())); } - @Test - public void removeSecondsForSpecificTime() { + public void testRemoveSecondsForSpecificTime() { long expected = specificDueDate .withSecondOfMinute(1) .withMillisOfSecond(0) @@ -114,62 +92,52 @@ public class TaskTest { assertEquals(expected, createDueDate(URGENCY_SPECIFIC_DAY_TIME, specificDueDate.getMillis())); } - @Test - public void taskHasDueTime() { + public void testTaskHasDueTime() { Task task = new Task(); task.setValue(DUE_DATE, 1388516076000L); assertTrue(task.hasDueTime()); assertTrue(task.hasDueDate()); } - @Test - public void taskHasDueDate() { + public void testTaskHasDueDate() { Task task = new Task(); task.setValue(DUE_DATE, 1388469600000L); assertFalse(task.hasDueTime()); assertTrue(task.hasDueDate()); } - @Test - public void doesHaveDueTime() { + public void testDoesHaveDueTime() { assertTrue(hasDueTime(1388516076000L)); } - @Test - public void doesNotHaveDueTime() { + public void testDoesNotHaveDueTime() { assertFalse(hasDueTime(1388469600000L)); } - @Test - public void newTaskIsNotCompleted() { + public void testNewTaskIsNotCompleted() { assertFalse(new Task().isCompleted()); } - @Test - public void newTaskNotDeleted() { + public void testNewTaskNotDeleted() { assertFalse(new Task().isDeleted()); } - @Test - public void newTaskNotHidden() { + public void testNewTaskNotHidden() { assertFalse(new Task().isHidden()); } - @Test - public void newTaskDoesNotHaveDueDateOrTime() { + public void testNewTaskDoesNotHaveDueDateOrTime() { assertFalse(new Task().hasDueDate()); assertFalse(new Task().hasDueTime()); } - @Test - public void taskIsCompleted() { + public void testTaskIsCompleted() { Task task = new Task(); task.setValue(COMPLETION_DATE, 1L); assertTrue(task.isCompleted()); } - @Test - public void taskIsNotHiddenAtHideUntilTime() { + public void testTaskIsNotHiddenAtHideUntilTime() { final long now = currentTimeMillis(); freezeAt(now).thawAfter(new Snippet() {{ Task task = new Task(); @@ -178,8 +146,7 @@ public class TaskTest { }}); } - @Test - public void taskIsHiddenBeforeHideUntilTime() { + public void testTaskIsHiddenBeforeHideUntilTime() { final long now = currentTimeMillis(); freezeAt(now).thawAfter(new Snippet() {{ Task task = new Task(); @@ -188,20 +155,17 @@ public class TaskTest { }}); } - @Test - public void taskIsDeleted() { + public void testTaskIsDeleted() { Task task = new Task(); task.setValue(DELETION_DATE, 1L); assertTrue(task.isDeleted()); } - @Test - public void taskWithNoDueDateIsOverdue() { + public void testTaskWithNoDueDateIsOverdue() { assertTrue(new Task().isOverdue()); } - @Test - public void taskNotOverdueAtDueTime() { + public void testTaskNotOverdueAtDueTime() { final long now = currentTimeMillis(); freezeAt(now).thawAfter(new Snippet() {{ Task task = new Task(); @@ -210,8 +174,7 @@ public class TaskTest { }}); } - @Test - public void taskIsOverduePastDueTime() { + public void testTaskIsOverduePastDueTime() { final long dueDate = currentTimeMillis(); freezeAt(dueDate + 1).thawAfter(new Snippet() {{ Task task = new Task(); @@ -220,8 +183,7 @@ public class TaskTest { }}); } - @Test - public void taskNotOverdueBeforeNoonOnDueDate() { + public void testTaskNotOverdueBeforeNoonOnDueDate() { final DateTime dueDate = new DateTime().withMillisOfDay(0); freezeAt(dueDate.plusHours(12).minusMillis(1)).thawAfter(new Snippet() {{ Task task = new Task(); @@ -231,8 +193,7 @@ public class TaskTest { }}); } - @Test - public void taskOverdueAtNoonOnDueDate() { + public void testTaskOverdueAtNoonOnDueDate() { final DateTime dueDate = new DateTime().withMillisOfDay(0); freezeAt(dueDate.plusHours(12)).thawAfter(new Snippet() {{ Task task = new Task(); @@ -242,7 +203,6 @@ public class TaskTest { }}); } - @Test public void testSanity() { assertTrue(Task.IMPORTANCE_DO_OR_DIE < Task.IMPORTANCE_MUST_DO); assertTrue(Task.IMPORTANCE_MUST_DO < Task.IMPORTANCE_SHOULD_DO);