Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java')
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java101
1 files changed, 82 insertions, 19 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java
index da9693ed3..12d3bca7d 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java
@@ -13,21 +13,29 @@
package org.eclipse.mylyn.tasks.tests;
import java.util.Calendar;
+import java.util.Date;
import junit.framework.TestCase;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.DateRange;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
+import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
+import org.eclipse.mylyn.internal.tasks.core.TaskGroup;
+import org.eclipse.mylyn.internal.tasks.core.UncategorizedTaskContainer;
+import org.eclipse.mylyn.internal.tasks.core.UnmatchedTaskContainer;
+import org.eclipse.mylyn.internal.tasks.core.UnsubmittedTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.WeekDateRange;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
+import org.eclipse.mylyn.internal.tasks.ui.util.TaskComparator;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListInterestSorter;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
-import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter.SortByIndex;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.tests.connector.MockTask;
import org.eclipse.swt.widgets.Control;
@@ -35,18 +43,54 @@ import org.eclipse.swt.widgets.Control;
/**
* @author Mik Kersten
* @author George Lindholm
+ * @author Frank Becker
*/
public class TableSorterTest extends TestCase {
public void testRootTaskSorting() {
TaskListTableSorter sorter = new TaskListTableSorter(TaskListView.getFromActivePerspective(),
- TaskListTableSorter.SortByIndex.SUMMARY);
+ TaskComparator.SortByIndex.SUMMARY);
- ITask task = new LocalTask("1", "");
+ AbstractTask task = new LocalTask("1", "");
+ UncategorizedTaskContainer uncategorizedTaskContainer = new UncategorizedTaskContainer();
+ UnsubmittedTaskContainer unsubmittedTaskContainer = new UnsubmittedTaskContainer("connectorKind",
+ "repositoryUrl");
TaskCategory category = new TaskCategory("cat");
+ RepositoryQuery repositoryQuery = new RepositoryQuery("connectorKind", "queryName");
+ TaskGroup taskGroup = new TaskGroup("parentHandle", "summary", "groupBy");
+ UnmatchedTaskContainer unmatchedTaskContainer = new UnmatchedTaskContainer("connectorKind", "repositoryUrl");
+
+ checkToRootElements(sorter, uncategorizedTaskContainer, unsubmittedTaskContainer);
+ checkToRootElements(sorter, uncategorizedTaskContainer, category);
+ checkToRootElements(sorter, uncategorizedTaskContainer, repositoryQuery);
+ checkToRootElements(sorter, uncategorizedTaskContainer, taskGroup);
+ checkToRootElements(sorter, uncategorizedTaskContainer, unmatchedTaskContainer);
+
+ checkToRootElements(sorter, unsubmittedTaskContainer, category);
+ checkToRootElements(sorter, unsubmittedTaskContainer, repositoryQuery);
+ checkToRootElements(sorter, unsubmittedTaskContainer, taskGroup);
+ checkToRootElements(sorter, unsubmittedTaskContainer, unmatchedTaskContainer);
+
+ checkToRootElements(sorter, category, repositoryQuery);
+ checkToRootElements(sorter, category, taskGroup);
+ checkToRootElements(sorter, category, unmatchedTaskContainer);
+
+ checkToRootElements(sorter, repositoryQuery, taskGroup);
+ checkToRootElements(sorter, repositoryQuery, unmatchedTaskContainer);
+
+ checkToRootElements(sorter, taskGroup, unmatchedTaskContainer);
+
+ checkToRootElements(sorter, task, uncategorizedTaskContainer);
+ checkToRootElements(sorter, task, unsubmittedTaskContainer);
+ checkToRootElements(sorter, task, category);
+ checkToRootElements(sorter, task, repositoryQuery);
+ checkToRootElements(sorter, task, taskGroup);
+ checkToRootElements(sorter, task, unmatchedTaskContainer);
+ }
- assertEquals(-1, sorter.compare(null, task, category));
- assertEquals(1, sorter.compare(null, category, task));
+ private void checkToRootElements(TaskListTableSorter sorter, AbstractTaskContainer e1, AbstractTaskContainer e2) {
+ assertEquals(-1, sorter.compare(null, e1, e2));
+ assertEquals(1, sorter.compare(null, e2, e1));
}
public class EmptyViewer extends Viewer {
@@ -112,17 +156,25 @@ public class TableSorterTest extends TestCase {
tasks[3] = new MockTask("local", "11", "d");
tasks[4] = new MockTask("local", "3", "c");
tasks[5] = new MockTask("local", "5", "a");
+ Date start = new Date();
+ tasks[5].setCreationDate(start);
+ tasks[4].setCreationDate(new Date(start.getTime() - 1));
+ tasks[3].setCreationDate(new Date(start.getTime() - 2));
+ tasks[2].setCreationDate(new Date(start.getTime() - 3));
+ tasks[1].setCreationDate(new Date(start.getTime() - 4));
+ tasks[0].setCreationDate(new Date(start.getTime() - 5));
TaskListTableSorter sorter = new TaskListTableSorter(TaskListView.getFromActivePerspective());
- sorter.setSortByIndex(SortByIndex.SUMMARY);
+ sorter.setSortByIndex(TaskComparator.SortByIndex.SUMMARY);
+ sorter.setSortByIndex2(TaskComparator.SortByIndex.DATE_CREATED);
sorter.sort(new EmptyViewer(), tasks);
- assertEquals("1", tasks[0].getTaskKey());
- assertEquals("3", tasks[1].getTaskKey());
- assertEquals("4", tasks[2].getTaskKey());
- assertEquals("5", tasks[3].getTaskKey());
- assertEquals("11", tasks[4].getTaskKey());
- assertEquals("a", tasks[4].getSummary());
+ assertEquals("11", tasks[0].getTaskKey());
+ assertEquals("a", tasks[0].getSummary());
+ assertEquals("5", tasks[1].getTaskKey());
+ assertEquals("1", tasks[2].getTaskKey());
+ assertEquals("4", tasks[3].getTaskKey());
+ assertEquals("3", tasks[4].getTaskKey());
assertEquals("11", tasks[5].getTaskKey());
assertEquals("d", tasks[5].getSummary());
}
@@ -134,18 +186,25 @@ public class TableSorterTest extends TestCase {
tasks[2] = new MockTask("local", "MYLN:11", "a");
tasks[3] = new MockTask("local", "MYLN:11", "b");
tasks[4] = new MockTask("local", "MYLN:5", "a");
+ Date start = new Date();
+ tasks[4].setCreationDate(start);
+ tasks[3].setCreationDate(new Date(start.getTime() - 1));
+ tasks[2].setCreationDate(new Date(start.getTime() - 2));
+ tasks[1].setCreationDate(new Date(start.getTime() - 3));
+ tasks[0].setCreationDate(new Date(start.getTime() - 4));
TaskListTableSorter sorter = new TaskListTableSorter(TaskListView.getFromActivePerspective());
- sorter.setSortByIndex(SortByIndex.SUMMARY);
+ sorter.setSortByIndex(TaskComparator.SortByIndex.SUMMARY);
+ sorter.setSortByIndex2(TaskComparator.SortByIndex.DATE_CREATED);
sorter.sort(new EmptyViewer(), tasks);
- assertEquals("MYLN:1", tasks[0].getTaskKey());
- assertEquals("MYLN:4", tasks[1].getTaskKey());
- assertEquals("MYLN:5", tasks[2].getTaskKey());
+ assertEquals("MYLN:11", tasks[0].getTaskKey());
+ assertEquals("a", tasks[0].getSummary());
+ assertEquals("MYLN:5", tasks[1].getTaskKey());
+ assertEquals("MYLN:1", tasks[2].getTaskKey());
assertEquals("MYLN:11", tasks[3].getTaskKey());
- assertEquals("a", tasks[3].getSummary());
- assertEquals("MYLN:11", tasks[4].getTaskKey());
- assertEquals("b", tasks[4].getSummary());
+ assertEquals("b", tasks[3].getSummary());
+ assertEquals("MYLN:4", tasks[4].getTaskKey());
}
public void testLocalTaskSort() {
@@ -154,6 +213,10 @@ public class TableSorterTest extends TestCase {
ITask task2 = new LocalTask("2", "task2");
ITask task3 = new LocalTask("3", "task3");
ITask[] tasks = { task1, task2, task3 };
+ Date start = new Date();
+ task3.setCreationDate(start);
+ task2.setCreationDate(new Date(start.getTime() - 1));
+ task1.setCreationDate(new Date(start.getTime() - 2));
sorter.sort(new EmptyViewer(), tasks);
}

Back to the top