Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2008-04-18 00:31:07 +0000
committerrelves2008-04-18 00:31:07 +0000
commit265e439bd21d70cef82434faf56f590a4882d91e (patch)
treedd5c29911997b358cd54d6565141e320af0e456c /org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
parent619ccb3d62d8991dea3068666995b6e594248397 (diff)
downloadorg.eclipse.mylyn.tasks-265e439bd21d70cef82434faf56f590a4882d91e.tar.gz
org.eclipse.mylyn.tasks-265e439bd21d70cef82434faf56f590a4882d91e.tar.xz
org.eclipse.mylyn.tasks-265e439bd21d70cef82434faf56f590a4882d91e.zip
NEW - bug 123881: [activity] Allow to reset the elapsed time worked on a task
https://bugs.eclipse.org/bugs/show_bug.cgi?id=123881
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java')
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java133
1 files changed, 133 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
index 0caee3082..a7be53922 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
@@ -21,6 +21,7 @@ import org.eclipse.mylyn.internal.context.core.ContextCorePlugin;
import org.eclipse.mylyn.internal.context.core.InteractionContext;
import org.eclipse.mylyn.internal.context.core.InteractionContextScaling;
import org.eclipse.mylyn.internal.context.core.LegacyActivityAdaptor;
+import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager;
@@ -92,6 +93,138 @@ public class TaskActivityTimingTest extends TestCase {
assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2));
}
+ public void testActivityDelete() {
+
+ AbstractTask task1 = new LocalTask("1", "Task 1");
+ manager.getTaskList().addTask(task1);
+ assertEquals(0, activityManager.getElapsedTime(task1));
+
+ Calendar start = Calendar.getInstance();
+ Calendar end = Calendar.getInstance();
+ end.setTimeInMillis(start.getTimeInMillis());
+ end.add(Calendar.HOUR_OF_DAY, 2);
+
+ Calendar start2 = Calendar.getInstance();
+ start2.add(Calendar.DAY_OF_MONTH, 1);
+ Calendar end2 = Calendar.getInstance();
+ end2.setTime(start2.getTime());
+ end2.add(Calendar.HOUR_OF_DAY, 2);
+
+ InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind",
+ task1.getHandleIdentifier(), "originId", "navigatedRelation",
+ IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime());
+ InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind",
+ task1.getHandleIdentifier(), "originId", "navigatedRelation",
+ IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime());
+
+ ContextCore.getContextManager().getActivityMetaContext().parseEvent(event1);
+ TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event1);
+ ContextCore.getContextManager().getActivityMetaContext().parseEvent(event2);
+ TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event2);
+
+ long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime();
+ assertEquals(2 * expectedTotalTime, activityManager.getElapsedTime(task1));
+ Calendar startEarly = Calendar.getInstance();
+ startEarly.setTimeInMillis(start.getTimeInMillis());
+ startEarly.add(Calendar.MONTH, -1);
+ Calendar endLate = Calendar.getInstance();
+ endLate.setTimeInMillis(end.getTimeInMillis() + 60 * 5000);
+ assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end));
+ assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2));
+ assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2));
+
+ MonitorUiPlugin.getDefault().getActivityContextManager().removeActivityTime(task1.getHandleIdentifier(),
+ start.getTimeInMillis(), end.getTimeInMillis());
+ // Half gone since end date is exclusive (removes up to but not including hour)
+ assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1));
+
+ ContextCore.getContextManager().saveActivityContext();
+ ContextCore.getContextManager().loadActivityMetaContext();
+ TasksUiPlugin.getTaskListManager().resetAndRollOver();
+
+ assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1));
+
+ MonitorUiPlugin.getDefault().getActivityContextManager().removeActivityTime(task1.getHandleIdentifier(),
+ start2.getTimeInMillis(), end2.getTimeInMillis());
+
+ assertEquals(0, activityManager.getElapsedTime(task1));
+ }
+
+// public void testActivityReset() {
+//
+// AbstractTask task1 = new LocalTask("1", "Task 1");
+// manager.getTaskList().addTask(task1);
+// assertEquals(0, activityManager.getElapsedTime(task1));
+//
+// Calendar start = Calendar.getInstance();
+// Calendar end = Calendar.getInstance();
+// end.setTimeInMillis(start.getTimeInMillis());
+// end.add(Calendar.HOUR_OF_DAY, 2);
+//
+// Calendar start2 = Calendar.getInstance();
+// start2.add(Calendar.DAY_OF_MONTH, 1);
+// Calendar end2 = Calendar.getInstance();
+// end2.setTime(start2.getTime());
+// end2.add(Calendar.HOUR_OF_DAY, 2);
+//
+// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind",
+// task1.getHandleIdentifier(), "originId", "navigatedRelation",
+// IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime());
+// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind",
+// task1.getHandleIdentifier(), "originId", "navigatedRelation",
+// IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime());
+//
+// ContextCore.getContextManager().getActivityMetaContext().parseEvent(event1);
+// TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event1);
+// ContextCore.getContextManager().getActivityMetaContext().parseEvent(event2);
+// TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event2);
+//
+// long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime();
+// assertEquals(2 * expectedTotalTime, activityManager.getElapsedTime(task1));
+// Calendar startEarly = Calendar.getInstance();
+// startEarly.setTimeInMillis(start.getTimeInMillis());
+// startEarly.add(Calendar.MONTH, -1);
+// Calendar endLate = Calendar.getInstance();
+// endLate.setTimeInMillis(end.getTimeInMillis() + 60 * 5000);
+// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end));
+// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2));
+// assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2));
+//
+// MonitorUiPlugin.getDefault().getActivityContextManager().clearActivityTime(task1.getHandleIdentifier(),
+// start.getTimeInMillis(), end.getTimeInMillis());
+// // Half gone since end date is exclusive (removes up to but not including hour)
+// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1));
+// assertTrue(activityManager.getActiveTasks(start, end).isEmpty());
+// assertFalse(activityManager.getActiveTasks(start2, end2).isEmpty());
+//
+// MonitorUiPlugin.getDefault().getActivityContextManager().clearActivityTime(task1.getHandleIdentifier(),
+// start.getTimeInMillis(), end2.getTimeInMillis() + (1000 * 60 * 60));
+//
+// // with end = hour beyond should result in zero
+// assertEquals(0, activityManager.getElapsedTime(task1));
+//
+// TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event1);
+// TasksUiPlugin.getTaskActivityManager().parseInteractionEvent(event2);
+// // one event blocked now by activity date filter so only half time collected
+// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1));
+// assertFalse(activityManager.getActiveTasks(start, end).isEmpty());
+// assertTrue(activityManager.getActiveTasks(start2, end2).isEmpty());
+//
+// ContextCore.getContextManager().saveActivityContext();
+// ContextCore.getContextManager().loadActivityMetaContext();
+// TasksUiPlugin.getTaskListManager().resetAndRollOver();
+//
+//// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end));
+//// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2));
+//// assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2));
+//
+// // reset still valid after restart
+// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1));
+// assertFalse(activityManager.getActiveTasks(start, end).isEmpty());
+// assertTrue(activityManager.getActiveTasks(start2, end2).isEmpty());
+//
+// }
+
public void testNegativeActivity() {
AbstractTask task1 = new LocalTask("task 1", "Task 1");

Back to the top