| /******************************************************************************* |
| * 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().getUncategorizedCategory()); |
| |
| taskIncomplete = new Task("incomplete-2", "t-incomplete", true); |
| manager.getTaskList().addTask(taskIncomplete, manager.getTaskList().getUncategorizedCategory()); |
| |
| taskOverdue = new Task("overdue-3", "t-overdue", true); |
| taskOverdue.setScheduledForDate(manager.setSecheduledIn(Calendar.getInstance(), -1).getTime()); |
| manager.getTaskList().addTask(taskOverdue, manager.getTaskList().getUncategorizedCategory()); |
| |
| taskDueToday = new Task("today-4", "t-today", true); |
| taskDueToday.setScheduledForDate(manager.setScheduledEndOfDay(Calendar.getInstance()).getTime()); |
| manager.getTaskList().addTask(taskDueToday, manager.getTaskList().getUncategorizedCategory()); |
| |
| taskCompletedToday = new Task("donetoday-5", "t-donetoday", true); |
| taskCompletedToday.setScheduledForDate(manager.setScheduledEndOfDay(Calendar.getInstance()).getTime()); |
| taskCompletedToday.setCompleted(true); |
| manager.getTaskList().addTask(taskCompletedToday, manager.getTaskList().getUncategorizedCategory()); |
| } |
| |
| @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()); |
| } |
| } |