blob: d68277d91d95770836fca48e0e8104fab466fea3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 - 2006 University Of British Columbia and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* University Of British Columbia - initial API and implementation
*******************************************************************************/
package org.eclipse.mylar.tests.integration;
import java.util.Calendar;
import java.util.List;
import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.mylar.context.tests.UiTestUtil;
import org.eclipse.mylar.internal.context.ui.TaskListInterestFilter;
import org.eclipse.mylar.internal.tasks.ui.AbstractTaskListFilter;
import org.eclipse.mylar.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylar.tasks.core.ITask;
import org.eclipse.mylar.tasks.core.Task;
import org.eclipse.mylar.tasks.ui.TaskListManager;
import org.eclipse.mylar.tasks.ui.TasksUiPlugin;
/**
* @author Mik Kersten
*/
public class TaskListFilterTest extends TestCase {
private TaskListView view = TaskListView.openInActivePerspective();
private TaskListManager manager = TasksUiPlugin.getTaskListManager();
private Set<AbstractTaskListFilter> previousFilters;
private ITask taskCompleted;
private ITask taskIncomplete;
private ITask taskOverdue;
private ITask taskDueToday;
private ITask taskCompletedToday;
@Override
protected void setUp() throws Exception {
super.setUp();
assertNotNull(view);
previousFilters = view.getFilters();
view.clearFilters(true);
manager.getTaskList().reset();
assertEquals(0, manager.getTaskList().getAllTasks().size());
taskCompleted = new Task("completed-1", "completed", true);
taskCompleted.setCompleted(true);
taskCompleted.setCompletionDate(manager.setSecheduledIn(Calendar.getInstance(), -1).getTime());
manager.getTaskList().addTask(taskCompleted, manager.getTaskList().getRootCategory());
taskIncomplete = new Task("incomplete-2", "t-incomplete", true);
manager.getTaskList().addTask(taskIncomplete, manager.getTaskList().getRootCategory());
taskOverdue = new Task("overdue-3", "t-overdue", true);
taskOverdue.setScheduledForDate(manager.setSecheduledIn(Calendar.getInstance(), -1).getTime());
manager.getTaskList().addTask(taskOverdue, manager.getTaskList().getRootCategory());
taskDueToday = new Task("today-4", "t-today", true);
taskDueToday.setScheduledForDate(manager.setScheduledToday(Calendar.getInstance()).getTime());
manager.getTaskList().addTask(taskDueToday, manager.getTaskList().getRootCategory());
taskCompletedToday = new Task("donetoday-5", "t-donetoday", true);
taskCompletedToday.setScheduledForDate(manager.setScheduledToday(Calendar.getInstance()).getTime());
taskCompletedToday.setCompleted(true);
manager.getTaskList().addTask(taskCompletedToday, manager.getTaskList().getRootCategory());
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
view.clearFilters(true);
for (AbstractTaskListFilter filter : previousFilters) {
view.addFilter(filter);
}
}
public void testInterestFilter() {
TaskListInterestFilter interestFilter = new TaskListInterestFilter();
view.addFilter(interestFilter);
view.getViewer().refresh();
List<Object> items = UiTestUtil.getAllData(view.getViewer().getTree());
assertFalse(items.contains(taskCompleted));
assertFalse(items.contains(taskIncomplete));
assertTrue(items.contains(taskOverdue));
assertTrue(items.contains(taskDueToday));
assertTrue(items.contains(taskCompletedToday));
view.removeFilter(interestFilter);
}
public void testNoFilters() {
assertEquals("has archive filter", 1, view.getFilters().size());
view.getViewer().refresh();
assertEquals(5, view.getViewer().getTree().getItemCount());
}
}