Remove Task cursors from tests

pull/189/head
Alex Baker 12 years ago
parent c1273f6b97
commit daeafabcc4

@ -6,13 +6,14 @@
package com.todoroo.astrid.dao; package com.todoroo.astrid.dao;
import com.todoroo.andlib.data.Property; import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria; import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.test.DatabaseTestCase; import com.todoroo.astrid.test.DatabaseTestCase;
import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
public class TaskDaoTests extends DatabaseTestCase { public class TaskDaoTests extends DatabaseTestCase {
@ -28,19 +29,13 @@ public class TaskDaoTests extends DatabaseTestCase {
* Test basic task creation, fetch, and save * Test basic task creation, fetch, and save
*/ */
public void disabled_testTaskCreation() { public void disabled_testTaskCreation() {
TodorooCursor<Task> cursor = taskDao.query( assertEquals(0, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
// create task "happy" // create task "happy"
Task task = new Task(); Task task = new Task();
task.setTitle("happy"); task.setTitle("happy");
taskDao.save(task); taskDao.save(task);
cursor = taskDao.query( assertEquals(1, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(1, cursor.getCount());
cursor.close();
long happyId = task.getId(); long happyId = task.getId();
assertNotSame(Task.NO_ID, happyId); assertNotSame(Task.NO_ID, happyId);
task = taskDao.fetch(happyId, TITLES); task = taskDao.fetch(happyId, TITLES);
@ -50,20 +45,14 @@ public class TaskDaoTests extends DatabaseTestCase {
task = new Task(); task = new Task();
task.setTitle("sad"); task.setTitle("sad");
taskDao.save(task); taskDao.save(task);
cursor = taskDao.query( assertEquals(2, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(2, cursor.getCount());
cursor.close();
// rename sad to melancholy // rename sad to melancholy
long sadId = task.getId(); long sadId = task.getId();
assertNotSame(Task.NO_ID, sadId); assertNotSame(Task.NO_ID, sadId);
task.setTitle("melancholy"); task.setTitle("melancholy");
taskDao.save(task); taskDao.save(task);
cursor = taskDao.query( assertEquals(2, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(2, cursor.getCount());
cursor.close();
// check state // check state
task = taskDao.fetch(happyId, TITLES); task = taskDao.fetch(happyId, TITLES);
@ -110,59 +99,39 @@ public class TaskDaoTests extends DatabaseTestCase {
taskDao.save(task); taskDao.save(task);
// check has no name // check has no name
TodorooCursor<Task> cursor = taskDao.query( List<Task> tasks = taskDao.toList(Query.select(TITLES).where(TaskCriteria.hasNoTitle()));
Query.select(TITLES).where(TaskCriteria.hasNoTitle())); assertEquals(1, tasks.size());
assertEquals(1, cursor.getCount()); assertEquals("", tasks.get(0).getTitle());
cursor.moveToNext();
assertEquals("", cursor.getString(1));
cursor.close();
// check is active // check is active
cursor = taskDao.query(Query.select(TITLES).where(TaskCriteria. assertEquals(5, taskDao.toList(Query.select(TITLES).where(TaskCriteria.isActive())).size());
isActive()));
assertEquals(5, cursor.getCount());
cursor.close();
// check is visible // check is visible
cursor = taskDao.query(Query.select(TITLES).where(TaskCriteria. assertEquals(5, taskDao.toList(Query.select(TITLES).where(TaskCriteria.isVisible())).size());
isVisible()));
assertEquals(5, cursor.getCount());
cursor.close();
} }
/** /**
* Test task deletion * Test task deletion
*/ */
public void disabled_testTDeletion() { public void disabled_testTDeletion() {
TodorooCursor<Task> cursor = taskDao.query( assertEquals(0, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
// create task "happy" // create task "happy"
Task task = new Task(); Task task = new Task();
task.setTitle("happy"); task.setTitle("happy");
taskDao.save(task); taskDao.save(task);
cursor = taskDao.query( assertEquals(1, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(1, cursor.getCount());
cursor.close();
// delete // delete
long happyId = task.getId(); long happyId = task.getId();
assertTrue(taskDao.delete(happyId)); assertTrue(taskDao.delete(happyId));
cursor = taskDao.query( assertEquals(0, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
} }
/** /**
* Test save without prior create doesn't work * Test save without prior create doesn't work
*/ */
public void disabled_testSaveWithoutCreate() { public void disabled_testSaveWithoutCreate() {
TodorooCursor<Task> cursor;
// try to save task "happy" // try to save task "happy"
Task task = new Task(); Task task = new Task();
task.setTitle("happy"); task.setTitle("happy");
@ -170,32 +139,21 @@ public class TaskDaoTests extends DatabaseTestCase {
taskDao.save(task); taskDao.save(task);
cursor = taskDao.query( assertEquals(0, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
} }
/** /**
* Test passing invalid task indices to various things * Test passing invalid task indices to various things
*/ */
public void disabled_testInvalidIndex() { public void disabled_testInvalidIndex() {
TodorooCursor<Task> cursor; assertEquals(0, taskDao.toList(Query.select(IDS)).size());
cursor = taskDao.query(
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
assertNull(taskDao.fetch(1, IDS)); assertNull(taskDao.fetch(1, IDS));
assertFalse(taskDao.delete(1)); assertFalse(taskDao.delete(1));
// make sure db still works // make sure db still works
cursor = taskDao.query( assertEquals(0, taskDao.toList(Query.select(IDS)).size());
Query.select(IDS));
assertEquals(0, cursor.getCount());
cursor.close();
} }
// TODO check eventing // TODO check eventing

@ -11,7 +11,6 @@ import com.google.ical.values.Frequency;
import com.google.ical.values.RRule; import com.google.ical.values.RRule;
import com.google.ical.values.Weekday; import com.google.ical.values.Weekday;
import com.google.ical.values.WeekdayNum; import com.google.ical.values.WeekdayNum;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
@ -95,12 +94,7 @@ public class NewRepeatTests extends DatabaseTestCase {
t.setCompletionDate(DateUtilities.now()); t.setCompletionDate(DateUtilities.now());
saveAndTriggerRepeatListener(t); saveAndTriggerRepeatListener(t);
TodorooCursor<Task> cursor = taskDao.query(Query.select(Task.ID)); assertEquals(1, taskDao.toList(Query.select(Task.ID)).size());
try {
assertEquals(1, cursor.getCount());
} finally {
cursor.close();
}
} }
protected void testRepeating(boolean completeBefore, boolean fromCompletion, protected void testRepeating(boolean completeBefore, boolean fromCompletion,
@ -136,31 +130,21 @@ public class NewRepeatTests extends DatabaseTestCase {
waitAndSync(); waitAndSync();
TodorooCursor<Task> cursor = taskDao.query(Query.select(Task.PROPERTIES).where(TaskCriteria.notDeleted())); List<Task> tasks = taskDao.toList(Query.select(Task.PROPERTIES).where(TaskCriteria.notDeleted()));
try { assertEquals(1, tasks.size());
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { t = tasks.get(0);
Task task = new Task(cursor); assertEquals(title, t.getTitle());
System.err.println("Task: " + task.getTitle() + ", due: " + task.getDueDate()); assertFalse(t.isCompleted());
} long newDueDate = t.getDueDate();
assertEquals(1, cursor.getCount()); assertTrue(t.hasDueTime());
cursor.moveToFirst();
t = new Task(cursor); long fromDate = (fromCompletion? completionDate : dueDate);
long expectedTime = computeNextDueDateFromDate(fromDate, rrule, fromCompletion);
assertEquals(title, t.getTitle());
assertFalse(t.isCompleted()); if (frequency == Frequency.WEEKLY) // We do this because DST was making the results be off by an hour
long newDueDate = t.getDueDate(); assertTimesWithinOneHour(expectedTime, newDueDate);
assertTrue(t.hasDueTime()); else
assertTimesMatch(expectedTime, newDueDate);
long fromDate = (fromCompletion? completionDate : dueDate);
long expectedTime = computeNextDueDateFromDate(fromDate, rrule, fromCompletion);
if (frequency == Frequency.WEEKLY) // We do this because DST was making the results be off by an hour
assertTimesWithinOneHour(expectedTime, newDueDate);
else
assertTimesMatch(expectedTime, newDueDate);
} finally {
cursor.close();
}
} }
private long computeWeeklyCaseDueDate(long fromDate, RRule rrule, boolean fromCompletion) { private long computeWeeklyCaseDueDate(long fromDate, RRule rrule, boolean fromCompletion) {

Loading…
Cancel
Save