blob: 8d2250b9a93748d3ad362be53a7cdfe3b6590e8a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2009 Tasktop Technologies 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:
* Felix Schwartz - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.tasks.tests;
import java.util.Date;
import junit.framework.TestCase;
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.TaskList;
import org.eclipse.mylyn.internal.tasks.ui.ITasksUiPreferenceConstants;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListContentProvider;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
/**
* @author Felix Schwarz
*/
public class TaskListContentProviderTest extends TestCase {
private TaskListContentProvider provider;
private TaskListView view;
private TaskList taskList;
@Override
protected void setUp() throws Exception {
super.setUp();
TasksUiUtil.openTasksViewInActivePerspective();
view = TaskListView.getFromActivePerspective();
provider = (TaskListContentProvider) view.getViewer().getContentProvider();
TasksUiPlugin.getDefault().getPreferenceStore().setValue(ITasksUiPreferenceConstants.GROUP_SUBTASKS, true);
view.clearFilters();
view.addFilter(view.getCompleteFilter());
taskList = TasksUiPlugin.getTaskList();
}
@Override
protected void tearDown() throws Exception {
view.clearFilters();
super.tearDown();
}
public void testHasChildren() {
AbstractTask parent = new LocalTask("parent", "parent label");
AbstractTask completedChild = new LocalTask("completed child", "completed child label");
completedChild.setCompletionDate(new Date());
taskList.addTask(parent);
taskList.addTask(completedChild, parent);
assertFalse(provider.hasChildren(parent));
AbstractTask incompleteChild = new LocalTask("incomplete child", "incomplete child label");
incompleteChild.setCompletionDate(null);
taskList.addTask(incompleteChild, parent);
assertTrue(provider.hasChildren(parent));
}
}