Convert more tests

pull/143/head
Alex Baker 10 years ago
parent 002e8c590a
commit 01ba735bc8

@ -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));
}
}

@ -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);
Loading…
Cancel
Save