2010-10-26 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug309042
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.tests / src / org / eclipse / linuxtools / lttng / state / resource / LTTngStateResourceTest.java
CommitLineData
03c71d1e
ASL
1/*******************************************************************************
2 * Copyright (c) 2009, 2010 Ericsson
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 * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
11 *******************************************************************************/
12package org.eclipse.linuxtools.lttng.state.resource;
13
14import junit.framework.TestCase;
15
16import org.eclipse.linuxtools.lttng.state.resource.ILTTngStateResource.GlobalStateMode;
17import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
18import org.eclipse.linuxtools.tmf.trace.ITmfTrace;
19
20/**
21 * For inherited methods see: LTTngTreeNodeTest
22 *
23 * @author alvaro
24 *
25 */
26public class LTTngStateResourceTest extends TestCase {
27 // =======================================================================
28 // Data
29 // =======================================================================
30
31 // Common context for all tests
32 ILttngStateContext context;
33
34 LTTngStateResource node10;
35 LTTngStateResource node20;
36 LTTngStateResource node30;
37 LTTngStateResource node40;
38 LTTngStateResource node50;
39 LTTngStateResource node60;
40
41 LTTngStateResource node15;
42 LTTngStateResource node25;
43 LTTngStateResource node35;
44 LTTngStateResource node45;
45 LTTngStateResource node55;
46 LTTngStateResource node65;
47 LTTngStateResource node67;
48
49 // ========================================================================
50 // Preparations and Finish
51 // =======================================================================
52 /* (non-Javadoc)
53 * @see junit.framework.TestCase#setUp()
54 */
550d787e 55 @Override
03c71d1e
ASL
56 protected void setUp() throws Exception {
57 super.setUp();
58 context = getContext();
59 // Create state resources and assign a parent
60 node10 = new LTTngStateResource(10L, "node10", context, this);
61 node20 = new LTTngStateResource(20L, node10, "node20", context, this);
62 node30 = new LTTngStateResource(30L, node20, "node30", context, this);
63 node40 = new LTTngStateResource(40L, node30, "node40", context, this);
64 node50 = new LTTngStateResource(50L, node40, "node50", context, this);
65 node60 = new LTTngStateResource(60L, node50, "node60", context, this);
66
67 //Adding first children
68 node10.addChild(node20);
69 node20.addChild(node30);
70 node30.addChild(node40);
71 node40.addChild(node50);
72 node50.addChild(node60);
73
74 //create additional nodes
75 node15 = new LTTngStateResource(15L, node10, "node15", context, this);
76 node25 = new LTTngStateResource(25L, node20, "node25", context, this);
77 node35 = new LTTngStateResource(35L, node30, "node35", context, this);
78 node45 = new LTTngStateResource(45L, node40, "node45", context, this);
79 node55 = new LTTngStateResource(55L, node50, "node55", context, this);
80 node65 = new LTTngStateResource(65L, node60, "node65", context, this);
81 node67 = new LTTngStateResource(67L, node60, "node67", context, this);
82
83 // Add more children to instances
84 node10.addChild(node15);
85 node20.addChild(node25);
86 node30.addChild(node35);
87 node40.addChild(node45);
88 node50.addChild(node55);
89 node60.addChild(node65);
90 node60.addChild(node67);
91 }
92
93 /**
94 * @return
95 */
96 private ILttngStateContext getContext() {
97 return new ILttngStateContext() {
98
d4011df2 99 @Override
03c71d1e
ASL
100 public TmfTimeRange getTraceTimeWindow() {
101 return null;
102 }
103
d4011df2 104 @Override
03c71d1e
ASL
105 public ITmfTrace getTraceIdRef() {
106 return null;
107 }
108
d4011df2 109 @Override
03c71d1e
ASL
110 public String getTraceId() {
111 return "Test Trace";
112 }
113
d4011df2 114 @Override
03c71d1e
ASL
115 public int getNumberOfCpus() {
116 return 1;
117 }
118
d4011df2 119 @Override
03c71d1e
ASL
120 public TmfTimeRange getExperimentTimeWindow() {
121 return null;
122 }
123
d4011df2 124 @Override
03c71d1e
ASL
125 public String getExperimentName() {
126 return "Test Experiment";
127 }
128 };
129 }
130
131 /* (non-Javadoc)
132 * @see junit.framework.TestCase#tearDown()
133 */
550d787e 134 @Override
03c71d1e
ASL
135 protected void tearDown() throws Exception {
136 super.tearDown();
137 }
138
139 // ========================================================================
140 // Methods
141 // =======================================================================
142 /**
143 * Test method for
144 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getChildren()}
145 * .
146 */
147 public void testGetChildren() {
148 LTTngStateResource[] childrensOf60 = node60.getChildren();
149 assertNotNull(childrensOf60);
150
151 int size = childrensOf60.length;
152 assertEquals(2, size);
153
154 LTTngStateResource child65 = childrensOf60[0];
155 LTTngStateResource child67 = childrensOf60[1];
156
157 assertNotNull(child65);
158 assertNotNull(child67);
159
160 assertEquals("node65", child65.getName());
161 assertEquals("node67", child67.getName());
162 }
163
164 /**
165 * Test method for
166 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getStateMode()}
167 */
168 public void testStateMode() {
169 // check default
170 assertEquals("unknown", node60.getStateMode().getInName());
171
172 // check setting
173 node60.setStateMode(GlobalStateMode.LTT_STATEMODE_WAIT_FORK);
174 assertEquals("waitfork", node60.getStateMode().getInName());
175
176 }
177
178 /**
179 * Test method for
180 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getContext()}
181 */
182 public void testContext() {
183 assertEquals(context, node60.getContext());
184 }
185}
This page took 0.032511 seconds and 5 git commands to generate.