tmf: Move plugins to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / analysis / AnalysisManagerTest.java
1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 École Polytechnique de Montréal
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.tmf.core.tests.analysis;
14
15 import static org.junit.Assert.assertFalse;
16 import static org.junit.Assert.assertTrue;
17
18 import java.util.Map;
19
20 import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleHelper;
21 import org.eclipse.linuxtools.tmf.core.analysis.IAnalysisModuleSource;
22 import org.eclipse.linuxtools.tmf.core.analysis.TmfAnalysisManager;
23 import org.eclipse.linuxtools.tmf.core.tests.shared.TmfTestTrace;
24 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
25 import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleSourceStub;
26 import org.eclipse.linuxtools.tmf.tests.stubs.analysis.AnalysisModuleTestHelper;
27 import org.junit.After;
28 import org.junit.Before;
29 import org.junit.Test;
30
31 /**
32 * Test suite for the TmfAnalysisModule class
33 */
34 public class AnalysisManagerTest {
35
36 /** Id of analysis module with parameter */
37 public static final String MODULE_PARAM = "org.eclipse.linuxtools.tmf.core.tests.analysis.test";
38 /** ID of analysis module with parameter and default value */
39 public static final String MODULE_PARAM_DEFAULT = "org.eclipse.linuxtools.tmf.core.tests.analysis.test2";
40 /** ID of analysis module for trace 2 classes only */
41 public static final String MODULE_SECOND = "org.eclipse.linuxtools.tmf.core.tests.analysis.testother";
42 /** Id of analysis module with requirements */
43 public static final String MODULE_REQ = "org.eclipse.linuxtools.tmf.core.tests.analysis.reqtest";
44
45 private ITmfTrace fTrace;
46
47 /**
48 * Set up some trace code
49 */
50 @Before
51 public void setupTraces() {
52 fTrace = TmfTestTrace.A_TEST_10K2.getTraceAsStub2();
53 }
54
55 /**
56 * Some tests use traces, let's clean them here
57 */
58 @After
59 public void cleanupTraces() {
60 TmfTestTrace.A_TEST_10K.dispose();
61 fTrace.dispose();
62 }
63
64 /**
65 * Test suite for the {@link TmfAnalysisManager#getAnalysisModules()} method
66 */
67 @Test
68 public void testGetAnalysisModules() {
69 Map<String, IAnalysisModuleHelper> modules = TmfAnalysisManager.getAnalysisModules();
70 /* At least 3 modules should be found */
71 assertTrue(modules.size() >= 3);
72
73 IAnalysisModuleHelper module = modules.get(MODULE_PARAM_DEFAULT);
74 assertTrue(module.isAutomatic());
75
76 module = modules.get(MODULE_PARAM);
77 assertFalse(module.isAutomatic());
78 }
79
80 /**
81 * Test suite for {@link TmfAnalysisManager#getAnalysisModules(Class)} Use
82 * the test TMF trace and test trace2 stubs as sample traces
83 */
84 @Test
85 public void testListForTraces() {
86 /* Generic TmfTrace */
87 ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
88 Map<String, IAnalysisModuleHelper> map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
89
90 assertTrue(map.containsKey(MODULE_PARAM));
91 assertTrue(map.containsKey(MODULE_PARAM_DEFAULT));
92 assertFalse(map.containsKey(MODULE_SECOND));
93
94 /* TmfTraceStub2 class */
95 map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
96
97 assertTrue(map.containsKey(MODULE_PARAM));
98 assertTrue(map.containsKey(MODULE_PARAM_DEFAULT));
99 assertTrue(map.containsKey(MODULE_SECOND));
100 }
101
102 /**
103 * Test suite to test refresh of analysis module when adding a {@link IAnalysisModuleSource}
104 */
105 @Test
106 public void testSources() {
107 /* Make sure that modules in the new source are not in the list already */
108 /* Generic TmfTrace */
109 ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
110 Map<String, IAnalysisModuleHelper> map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
111
112 assertFalse(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST.name()));
113
114 /* TmfTraceStub2 class */
115 map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
116
117 assertFalse(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST2.name()));
118
119 /* Add new source */
120 TmfAnalysisManager.registerModuleSource(new AnalysisModuleSourceStub());
121
122 /* Now make sure the modules are present */
123 map = TmfAnalysisManager.getAnalysisModules(trace.getClass());
124 assertTrue(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST.name()));
125
126 map = TmfAnalysisManager.getAnalysisModules(fTrace.getClass());
127 assertTrue(map.containsKey(AnalysisModuleTestHelper.moduleStubEnum.TEST2.name()));
128 }
129
130 }
This page took 0.038354 seconds and 5 git commands to generate.