Copyright header update, 2015 edition
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / analysis / AnalysisParameterProviderTest.java
CommitLineData
c068a752 1/*******************************************************************************
ed902a2b 2 * Copyright (c) 2013, 2014 École Polytechnique de Montréal
c068a752
GB
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
2bdf0193 13package org.eclipse.tracecompass.tmf.core.tests.analysis;
c068a752
GB
14
15import static org.junit.Assert.assertEquals;
ba27dd38 16import static org.junit.Assert.assertNotNull;
c068a752
GB
17import static org.junit.Assert.fail;
18
19import java.util.List;
20
2bdf0193
AM
21import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
22import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModuleHelper;
23import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisParameterProvider;
24import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisManager;
25import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
26import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
27import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
28import org.eclipse.tracecompass.tmf.tests.stubs.analysis.TestAnalysis;
29import org.eclipse.tracecompass.tmf.tests.stubs.analysis.TestAnalysisParameterProvider;
c068a752
GB
30import org.junit.After;
31import org.junit.Before;
32import org.junit.Test;
33
34/**
35 * Test the TmfAbstractParameterProvider class
36 *
37 * @author Geneviève Bastien
38 */
39public class AnalysisParameterProviderTest {
40
41 /**
42 * Registers the parameter provider
43 */
44 @Before
45 public void setup() {
46 TmfAnalysisManager.registerParameterProvider(AnalysisManagerTest.MODULE_PARAM, TestAnalysisParameterProvider.class);
47 }
48
49 /**
50 * Cleanup the trace after testing
51 */
52 @After
53 public void cleanupTrace() {
54 TmfTestTrace.A_TEST_10K.dispose();
55 }
56
57 /**
58 * Test that the provider's value is used
59 */
60 @Test
61 public void testProviderTmfTrace() {
62 ITmfTrace trace = TmfTestTrace.A_TEST_10K.getTrace();
63 /* Make sure the value is set to null */
64 IAnalysisModuleHelper helper = TmfAnalysisManager.getAnalysisModule(AnalysisManagerTest.MODULE_PARAM);
ba27dd38 65 assertNotNull(helper);
03f0b0b1
AM
66 IAnalysisModule module = null;
67 try {
68 module = helper.newModule(trace);
7b3eb8c0
AM
69
70 assertEquals(10, module.getParameter(TestAnalysis.PARAM_TEST));
71
72 /* Change the value of the parameter in the provider */
73 List<IAnalysisParameterProvider> providers = TmfAnalysisManager.getParameterProviders(module, trace);
74 assertEquals(1, providers.size());
75 TestAnalysisParameterProvider provider = (TestAnalysisParameterProvider) providers.get(0);
76 provider.setValue(5);
77 assertEquals(5, module.getParameter(TestAnalysis.PARAM_TEST));
78
c068a752
GB
79 } catch (TmfAnalysisException e) {
80 fail(e.getMessage());
03f0b0b1
AM
81 } finally {
82 if (module != null) {
83 module.dispose();
84 }
c068a752 85 }
c068a752
GB
86 }
87
88}
This page took 0.049891 seconds and 5 git commands to generate.