1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 Ericsson
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
10 * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
11 *******************************************************************************/
12 package org
.eclipse
.linuxtools
.lttng
.tests
.state
.resource
;
14 import junit
.framework
.TestCase
;
16 import org
.eclipse
.linuxtools
.lttng
.state
.resource
.ILttngStateContext
;
17 import org
.eclipse
.linuxtools
.lttng
.state
.resource
.LTTngStateResource
;
18 import org
.eclipse
.linuxtools
.lttng
.state
.resource
.ILTTngStateResource
.GlobalStateMode
;
19 import org
.eclipse
.linuxtools
.tmf
.event
.TmfTimeRange
;
20 import org
.eclipse
.linuxtools
.tmf
.trace
.ITmfTrace
;
23 * For inherited methods see: LTTngTreeNodeTest
28 @SuppressWarnings("nls")
29 public class LTTngStateResourceTest
extends TestCase
{
30 // =======================================================================
32 // =======================================================================
34 // Common context for all tests
35 ILttngStateContext context
;
37 LTTngStateResource node10
;
38 LTTngStateResource node20
;
39 LTTngStateResource node30
;
40 LTTngStateResource node40
;
41 LTTngStateResource node50
;
42 LTTngStateResource node60
;
44 LTTngStateResource node15
;
45 LTTngStateResource node25
;
46 LTTngStateResource node35
;
47 LTTngStateResource node45
;
48 LTTngStateResource node55
;
49 LTTngStateResource node65
;
50 LTTngStateResource node67
;
52 // ========================================================================
53 // Preparations and Finish
54 // =======================================================================
56 * @see junit.framework.TestCase#setUp()
59 protected void setUp() throws Exception
{
61 context
= getContext();
62 // Create state resources and assign a parent
63 node10
= new LTTngStateResource(10L, "node10", context
, this);
64 node20
= new LTTngStateResource(20L, node10
, "node20", context
, this);
65 node30
= new LTTngStateResource(30L, node20
, "node30", context
, this);
66 node40
= new LTTngStateResource(40L, node30
, "node40", context
, this);
67 node50
= new LTTngStateResource(50L, node40
, "node50", context
, this);
68 node60
= new LTTngStateResource(60L, node50
, "node60", context
, this);
70 //Adding first children
71 node10
.addChild(node20
);
72 node20
.addChild(node30
);
73 node30
.addChild(node40
);
74 node40
.addChild(node50
);
75 node50
.addChild(node60
);
77 //create additional nodes
78 node15
= new LTTngStateResource(15L, node10
, "node15", context
, this);
79 node25
= new LTTngStateResource(25L, node20
, "node25", context
, this);
80 node35
= new LTTngStateResource(35L, node30
, "node35", context
, this);
81 node45
= new LTTngStateResource(45L, node40
, "node45", context
, this);
82 node55
= new LTTngStateResource(55L, node50
, "node55", context
, this);
83 node65
= new LTTngStateResource(65L, node60
, "node65", context
, this);
84 node67
= new LTTngStateResource(67L, node60
, "node67", context
, this);
86 // Add more children to instances
87 node10
.addChild(node15
);
88 node20
.addChild(node25
);
89 node30
.addChild(node35
);
90 node40
.addChild(node45
);
91 node50
.addChild(node55
);
92 node60
.addChild(node65
);
93 node60
.addChild(node67
);
99 private ILttngStateContext
getContext() {
100 return new ILttngStateContext() {
103 public TmfTimeRange
getTraceTimeWindow() {
108 public ITmfTrace
<?
> getTraceIdRef() {
113 public String
getTraceId() {
118 public int getNumberOfCpus() {
123 public TmfTimeRange
getExperimentTimeWindow() {
128 public String
getExperimentName() {
129 return "Test Experiment";
133 public long getIdentifier() {
140 * @see junit.framework.TestCase#tearDown()
143 protected void tearDown() throws Exception
{
147 // ========================================================================
149 // =======================================================================
152 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getChildren()}
155 public void testGetChildren() {
156 LTTngStateResource
[] childrensOf60
= node60
.getChildren();
157 assertNotNull(childrensOf60
);
159 int size
= childrensOf60
.length
;
160 assertEquals(2, size
);
162 LTTngStateResource child65
= childrensOf60
[0];
163 LTTngStateResource child67
= childrensOf60
[1];
165 assertNotNull(child65
);
166 assertNotNull(child67
);
168 assertEquals("node65", child65
.getName());
169 assertEquals("node67", child67
.getName());
174 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getStateMode()}
176 public void testStateMode() {
178 assertEquals("unknown", node60
.getStateMode().getInName());
181 node60
.setStateMode(GlobalStateMode
.LTT_STATEMODE_WAIT_FORK
);
182 assertEquals("waitfork", node60
.getStateMode().getInName());
188 * {@link org.eclipse.linuxtools.lttng.state.resource.LTTngStateResource#getContext()}
190 public void testContext() {
191 assertEquals(context
, node60
.getContext());