<tracetype
class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
</tracetype>
+ <tracetype
+ applies="false"
+ class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
+ </tracetype>
</module>
<module
id="org.eclipse.linuxtools.tmf.core.tests.analysis.test2"
name="Test other analysis"
analysis_module="org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestAnalysis2"
automatic="true">
+ <tracetype
+ applies="true"
+ class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
+ </tracetype>
<tracetype
applies="true"
class="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2">
name="TMF Tests"
trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub">
</type>
+ <type
+ category="org.eclipse.linuxtools.tmf.core.tests.category"
+ event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
+ id="org.eclipse.linuxtools.tmf.core.tests.secondtt"
+ name="TMF Tests 2"
+ trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2">
+ </type>
+ <type
+ category="org.eclipse.linuxtools.tmf.core.tests.category"
+ event_type="org.eclipse.linuxtools.tmf.core.event.TmfEvent"
+ id="org.eclipse.linuxtools.tmf.core.tests.thirdtt"
+ name="TMF Tests 3"
+ trace_type="org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3">
+ </type>
<experiment
category="org.eclipse.linuxtools.tmf.core.tests.category"
id="org.eclipse.linuxtools.tmf.core.tests.experimenttype"
import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisModuleHelperConfigElement;
import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisRequirement;
import org.eclipse.linuxtools.tmf.core.exceptions.TmfAnalysisException;
-import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
-import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
import org.eclipse.linuxtools.tmf.tests.stubs.analysis.TestRequirementAnalysis;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub;
import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub2;
+import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub3;
import org.eclipse.osgi.util.NLS;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.osgi.framework.Bundle;
+import com.google.common.collect.ImmutableSet;
+
/**
* Test suite for the {@link TmfAnalysisModuleHelperConfigElement} class
*
*/
public class AnalysisModuleHelperTest {
- private static final String VALID_TRACE_TYPE = "org.eclipse.linuxtools.tmf.core.tests.tracetype";
-
private IAnalysisModuleHelper fModule;
private IAnalysisModuleHelper fModuleOther;
private IAnalysisModuleHelper fReqModule;
assertFalse(fModule.appliesToTraceType(TmfTrace.class));
assertTrue(fModule.appliesToTraceType(TmfTraceStub.class));
assertTrue(fModule.appliesToTraceType(TmfTraceStub2.class));
+ assertFalse(fModule.appliesToTraceType(TmfTraceStub3.class));
/* stub module 2 */
assertFalse(fModuleOther.appliesToTraceType(TmfTrace.class));
assertFalse(fModuleOther.appliesToTraceType(TmfTraceStub.class));
assertTrue(fModuleOther.appliesToTraceType(TmfTraceStub2.class));
+ assertTrue(fModuleOther.appliesToTraceType(TmfTraceStub3.class));
}
/**
*/
@Test
public void testGetValidTraceTypes() {
- TraceTypeHelper traceTypeHelper = TmfTraceType.getTraceType(VALID_TRACE_TYPE);
- int traceTypeCount = 0;
+ Set<Class<? extends ITmfTrace>> expected = ImmutableSet.of((Class<? extends ITmfTrace>) TmfTraceStub.class, TmfTraceStub2.class, TmfTraceStub3.class);
Iterable<Class<? extends ITmfTrace>> traceTypes = fReqModule.getValidTraceTypes();
- for (Class<? extends ITmfTrace> traceType : traceTypes) {
- assertTrue(fReqModule.appliesToTraceType(traceType));
- assertNotNull(traceTypeHelper);
- assertEquals(traceTypeHelper.getTraceClass(), traceType);
- traceTypeCount++;
- }
- assertEquals(1, traceTypeCount);
+ assertEquals(expected, traceTypes);
}
/**
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2014 École Polytechnique de Montréal
+ *
+ * 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:
+ * Geneviève Bastien - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.tmf.tests.stubs.trace;
+
+/**
+ * Another stub trace class for unit tests who need more than one stub class.
+ *
+ * @author Geneviève Bastien
+ */
+public class TmfTraceStub3 extends TmfTraceStub {
+
+ /**
+ * Default constructor
+ */
+ public TmfTraceStub3() {
+ super();
+ }
+
+}
classApplies = Boolean.parseBoolean(classAppliesVal);
}
if (classApplies) {
- applies = applyclass.isAssignableFrom(traceclass);
+ applies |= applyclass.isAssignableFrom(traceclass);
} else {
- applies = !applyclass.isAssignableFrom(traceclass);
+ /* If the trace type does not apply, reset the applies variable to false */
+ if (applyclass.isAssignableFrom(traceclass)) {
+ applies = false;
+ }
}
} catch (ClassNotFoundException e) {
Activator.logError("Error in applies to trace", e); //$NON-NLS-1$
return module.getAnalysisRequirements();
}
return Collections.EMPTY_SET;
+
}
// ---------------------------------------
return ret;
}
return getHelpText();
+
}
}