/******************************************************************************* * 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: * Tasktop Technologies - initial API and implementation *******************************************************************************/ package org.eclipse.mylyn.monitor.reports.tests; import java.io.File; import java.util.List; import junit.framework.TestCase; import org.eclipse.mylyn.commons.sdk.util.CommonTestUtil; import org.eclipse.mylyn.context.core.IInteractionElement; import org.eclipse.mylyn.internal.context.core.InteractionContext; import org.eclipse.mylyn.internal.context.core.InteractionContextScaling; import org.eclipse.mylyn.internal.monitor.usage.InteractionEventLogger; import org.eclipse.mylyn.monitor.core.InteractionEvent; /** * @author Mik Kersten */ public class ContextParsingTest extends TestCase { private List<InteractionEvent> events; @Override protected void setUp() throws Exception { super.setUp(); File file = CommonTestUtil.getFile(this, "testdata/usage-parsing.zip"); InteractionEventLogger logger = new InteractionEventLogger(file); events = logger.getHistoryFromFile(file); } @Override protected void tearDown() throws Exception { super.tearDown(); events.clear(); } public void testOriginIdValidity() { for (InteractionEvent event : events) { if (event.isValidStructureHandle()) { assertFalse(event.getStructureHandle().equals("null")); } } } public void testHistoryParsingWithDecayReset() { InteractionContextScaling scalingFactors = new InteractionContextScaling(); // scalingFactors.setDecay(new ScalingFactor("decay", .05f)); InteractionContext context = new InteractionContext("test", scalingFactors); for (InteractionEvent event : events) { if (event.isValidStructureHandle()) { // if (SelectionMonitor.isValidStructureHandle(event)) { InteractionEvent newEvent = InteractionEvent.makeCopy(event, 1f); context.parseEvent(newEvent); if (event.isValidStructureHandle() && event.getKind().equals(InteractionEvent.Kind.SELECTION)) { // if (SelectionMonitor.isValidStructureHandle(event) && // event.getKind().equals(InteractionEvent.Kind.SELECTION)) // { IInteractionElement element = context.parseEvent(event); // reset decay if not selected if (element.getInterest().getValue() < 0) { float decayOffset = (-1) * (element.getInterest().getValue()) + 1; element = context.parseEvent(new InteractionEvent(InteractionEvent.Kind.MANIPULATION, event.getStructureKind(), event.getStructureHandle(), "test-decay", decayOffset)); } assertTrue("should be positive: " + element.getInterest().getValue(), element.getInterest() .getValue() >= 0); } } } } }