blob: 4e36f4ee495edcc31201e4324dde85d18eff4ae8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2009 Tasktop Technologies and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* 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));
}
}