tmf: Refactor TMF statistics
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / statistics / TmfStatisticsTreeNodeTest.java
CommitLineData
79e08fd0
BH
1/*******************************************************************************
2 * Copyright (c) 2011 Ericsson
64636df8 3 *
79e08fd0
BH
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
64636df8 8 *
79e08fd0 9 * Contributors:
09667aa4 10 * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
79e08fd0
BH
11 * Bernd Hufmann - Fixed warnings
12 *******************************************************************************/
13
14package org.eclipse.linuxtools.tmf.ui.tests.statistics;
15
16import java.util.Collection;
17import java.util.Iterator;
18import java.util.Vector;
19
20import junit.framework.TestCase;
21
4c564a2d 22import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
6c13869b 23import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
4c564a2d 24import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
6c13869b
FC
25import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
26import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
cfd22ad0 27import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.Messages;
36033ff0 28import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
cfd22ad0 29import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
79e08fd0 30
64636df8
BH
31/**
32 * TmfStatisticsTreeNode Test Cases.
33 */
79e08fd0
BH
34@SuppressWarnings("nls")
35public class TmfStatisticsTreeNodeTest extends TestCase {
36
37 // ------------------------------------------------------------------------
38 // Fields
39 // ------------------------------------------------------------------------
40 private String fTestName = null;
64636df8
BH
41
42
cbbcc354 43 private final String fContext = "UnitTest";
44 private final String fTypeId1 = "Some type1";
45 private final String fTypeId2 = "Some type2";
64636df8 46
79e08fd0
BH
47 private final String fLabel0 = "label1";
48 private final String fLabel1 = "label2";
49 private final String fLabel2 = "label3";
50 private final String[] fLabels = new String[] { fLabel0, fLabel1, fLabel2 };
51
4641c2f7
FC
52 private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
53 private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
54 private final TmfTimestamp fTimestamp3 = new TmfTimestamp(12355, (byte) 2, 5);
64636df8 55
4641c2f7 56 private final String fSource = "Source";
64636df8 57
4c564a2d 58 private final TmfEventType fType1 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
255224d9 59 private final TmfEventType fType2 = new TmfEventType(fContext, fTypeId2, TmfEventField.makeRoot(fLabels));
64636df8 60
4641c2f7 61 private final String fReference = "Some reference";
79e08fd0
BH
62
63 private final TmfEvent fEvent1;
64 private final TmfEvent fEvent2;
65 private final TmfEvent fEvent3;
66
4c564a2d
FC
67 private final TmfEventField fContent1;
68 private final TmfEventField fContent2;
69 private final TmfEventField fContent3;
64636df8 70
36033ff0 71 private final TmfStatisticsTree fStatsData;
64636df8 72
79e08fd0
BH
73 // ------------------------------------------------------------------------
74 // Housekeeping
75 // ------------------------------------------------------------------------
64636df8 76
79e08fd0 77 /**
09667aa4
MD
78 * @param name
79 * Test name
79e08fd0
BH
80 */
81 public TmfStatisticsTreeNodeTest(final String name) {
82 super(name);
64636df8 83
79e08fd0 84 fTestName = name;
64636df8 85
a4115405 86 fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content");
7b477cc3 87 fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType1, fContent1, fReference);
79e08fd0 88
a4115405 89 fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content");
255224d9 90 fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType1, fContent2, fReference);
64636df8 91
a4115405 92 fContent3 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other different content");
255224d9 93 fEvent3 = new TmfEvent(null, fTimestamp3, fSource, fType2, fContent3, fReference);
7b477cc3 94
36033ff0 95 fStatsData = new TmfStatisticsTree();
89c06060
AM
96
97 fStatsData.setTotal(fTestName, true, 9);
98 fStatsData.setTypeCount(fTestName, fEvent1.getType().getName(), true, 2);
99 fStatsData.setTypeCount(fTestName, fEvent2.getType().getName(), true, 3);
100 fStatsData.setTypeCount(fTestName, fEvent3.getType().getName(), true, 4);
255224d9
MD
101
102 // Registers some events in time range
89c06060
AM
103 fStatsData.setTotal(fTestName, false, 9);
104 fStatsData.setTypeCount(fTestName, fEvent1.getType().getName(), false, 2);
105 fStatsData.setTypeCount(fTestName, fEvent2.getType().getName(), false, 3);
106 fStatsData.setTypeCount(fTestName, fEvent3.getType().getName(), false, 4);
79e08fd0 107 }
64636df8 108
79e08fd0
BH
109 // ------------------------------------------------------------------------
110 // ContainsChild
111 // ------------------------------------------------------------------------
112
64636df8
BH
113 /**
114 * Test checking for child.
115 */
79e08fd0 116 public void testContainsChild() {
36033ff0 117 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 118 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0
BH
119 // Creates a category from the key already created
120 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
64636df8 121
09667aa4 122 assertTrue("containsChild", rootNode.containsChild(fTestName));
79e08fd0
BH
123 assertFalse("containsChild", rootNode.containsChild(catNode.getKey()));
124 assertFalse("containsChild", rootNode.containsChild(null));
64636df8 125
09667aa4 126 assertTrue("containsChild", traceNode.containsChild(catNode.getKey()));
59b50985 127 assertFalse("containsChild", traceNode.containsChild(fType1.getName()));
79e08fd0 128 assertFalse("containsChild", traceNode.containsChild(null));
64636df8 129
59b50985
MD
130 assertTrue("containsChild", catNode.containsChild(fType1.getName()));
131 assertTrue("containsChild", catNode.containsChild(fType2.getName()));
79e08fd0
BH
132 assertFalse("containsChild", catNode.containsChild(null));
133 }
64636df8 134
79e08fd0
BH
135 // ------------------------------------------------------------------------
136 // GetChildren
137 // ------------------------------------------------------------------------
138
64636df8
BH
139 /**
140 * Test getting of children.
141 */
79e08fd0
BH
142 public void testGetChildren() {
143 // Getting children of the ROOT
36033ff0 144 Collection<TmfStatisticsTreeNode> childrenTreeNode = fStatsData.get(TmfStatisticsTree.ROOT[0]).getChildren();
79e08fd0
BH
145 assertEquals("getChildren", 1, childrenTreeNode.size());
146 TmfStatisticsTreeNode treeNode = childrenTreeNode.iterator().next();
147 assertEquals("getChildren", fTestName, treeNode.getKey());
64636df8 148
79e08fd0 149 // Getting children of the trace
5673a177 150 childrenTreeNode = fStatsData.get(fTestName).getChildren();
79e08fd0
BH
151 assertEquals("getChildren", 1, childrenTreeNode.size());
152 treeNode = childrenTreeNode.iterator().next();
153 assertEquals("getChildren", Messages.TmfStatisticsData_EventTypes, treeNode.getKey());
64636df8
BH
154
155 Vector<String> keyExpected = new Vector<String>();
59b50985
MD
156 keyExpected.add(fType1.getName());
157 keyExpected.add(fType2.getName());
79e08fd0
BH
158 // Getting children of a category
159 childrenTreeNode = treeNode.getChildren();
160 assertEquals("getChildren", 2, childrenTreeNode.size());
64636df8 161
79e08fd0
BH
162 Iterator<TmfStatisticsTreeNode> iterChild = childrenTreeNode.iterator();
163 TmfStatisticsTreeNode temp;
164 while (iterChild.hasNext()) {
165 temp = iterChild.next();
166 if (keyExpected.contains(temp.getKey())) {
167 keyExpected.removeElement(temp.getKey());
09667aa4 168 } else {
79e08fd0
BH
169 fail();
170 }
171 }
64636df8 172
79e08fd0
BH
173 // Get children of a specific event type
174 childrenTreeNode = fStatsData.get(childrenTreeNode.iterator().next().getPath()).getChildren();
175 assertEquals("getChildren", 0, childrenTreeNode.size());
176 }
64636df8 177
79e08fd0
BH
178 // ------------------------------------------------------------------------
179 // GetAllChildren
180 // ------------------------------------------------------------------------
181
64636df8
BH
182 /**
183 * Test getting of all children.
184 */
79e08fd0
BH
185 public void testGetAllChildren() {
186 // Getting children of the ROOT
36033ff0 187 Collection<TmfStatisticsTreeNode> childrenTreeNode = fStatsData.get(TmfStatisticsTree.ROOT).getAllChildren();
79e08fd0
BH
188 assertEquals("getChildren", 1, childrenTreeNode.size());
189 TmfStatisticsTreeNode treeNode = childrenTreeNode.iterator().next();
190 assertEquals("getChildren", fTestName, treeNode.getKey());
64636df8 191
79e08fd0 192 // Getting children of the trace
5673a177 193 childrenTreeNode = fStatsData.get(fTestName).getAllChildren();
79e08fd0
BH
194 assertEquals("getChildren", 1, childrenTreeNode.size());
195 treeNode = childrenTreeNode.iterator().next();
196 assertEquals("getChildren", Messages.TmfStatisticsData_EventTypes, treeNode.getKey());
64636df8
BH
197
198 Vector<String> keyExpected = new Vector<String>();
59b50985
MD
199 keyExpected.add(fType1.getName());
200 keyExpected.add(fType2.getName());
09667aa4
MD
201 /*
202 * It should return the eventType even though the number of events
203 * equals 0
204 */
5673a177 205 fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName()).reset();
79e08fd0
BH
206 // Getting children of a category
207 childrenTreeNode = treeNode.getAllChildren();
208 assertEquals("getChildren", 2, childrenTreeNode.size());
64636df8 209
79e08fd0
BH
210 Iterator<TmfStatisticsTreeNode> iterChild = childrenTreeNode.iterator();
211 TmfStatisticsTreeNode temp;
212 while (iterChild.hasNext()) {
213 temp = iterChild.next();
214 if (keyExpected.contains(temp.getKey())) {
215 keyExpected.removeElement(temp.getKey());
09667aa4 216 } else {
79e08fd0
BH
217 fail();
218 }
219 }
64636df8 220
79e08fd0
BH
221 // Get children of a specific event type
222 childrenTreeNode = fStatsData.get(childrenTreeNode.iterator().next().getPath()).getAllChildren();
223 assertEquals("getChildren", 0, childrenTreeNode.size());
224 }
64636df8 225
79e08fd0
BH
226 // ------------------------------------------------------------------------
227 // GetNbChildren
228 // ------------------------------------------------------------------------
09667aa4 229
64636df8
BH
230 /**
231 * Test getting of number of children.
232 */
79e08fd0 233 public void testGetNbChildren() {
36033ff0 234 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 235 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 236 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177 237 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
64636df8 238
09667aa4
MD
239 assertEquals("getNbChildren", 1, rootNode.getNbChildren());
240 assertEquals("getNbChildren", 1, traceNode.getNbChildren());
241 assertEquals("getNbChildren", 2, catNode.getNbChildren());
79e08fd0
BH
242 assertEquals("getNbChildren", 0, elementNode.getNbChildren());
243 }
64636df8 244
79e08fd0
BH
245 // ------------------------------------------------------------------------
246 // HasChildren
247 // ------------------------------------------------------------------------
64636df8
BH
248
249 /**
250 * Test checking for children.
251 */
79e08fd0 252 public void testHasChildren() {
36033ff0 253 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 254 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 255 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177 256 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
64636df8 257
09667aa4
MD
258 assertTrue("hasChildren", rootNode.hasChildren());
259 assertTrue("hasChildren", traceNode.hasChildren());
260 assertTrue("hasChildren", catNode.hasChildren());
79e08fd0
BH
261 assertFalse("hasChildren", elementNode.hasChildren());
262 }
64636df8 263
79e08fd0
BH
264 // ------------------------------------------------------------------------
265 // GetParent
266 // ------------------------------------------------------------------------
64636df8
BH
267
268 /**
255224d9 269 * Test getting of parent.
64636df8 270 */
79e08fd0 271 public void testGetParent() {
36033ff0 272 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
79e08fd0
BH
273 TmfStatisticsTreeNode parentNode = rootNode.getParent();
274 assertNull("getParent", parentNode);
64636df8 275
5673a177 276 TmfStatisticsTreeNode newTraceNode = new TmfStatisticsTreeNode(fStatsData, "newly created trace node");
79e08fd0
BH
277 parentNode = newTraceNode.getParent();
278 assertNotNull("getParent", parentNode);
36033ff0 279 assertEquals("getParent", 0, parentNode.getKey().compareTo(fStatsData.get(TmfStatisticsTree.ROOT).getKey().toString()));
64636df8 280
5673a177 281 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0
BH
282 parentNode = traceNode.getParent();
283 assertNotNull("getParent", parentNode);
36033ff0 284 assertEquals("getParent", 0, parentNode.getPath().toString().compareTo(TmfStatisticsTree.ROOT.toString()));
64636df8 285
5673a177 286 TmfStatisticsTreeNode newNode = new TmfStatisticsTreeNode(fStatsData, "TreeNode", Messages.TmfStatisticsData_EventTypes, "TreeNode that should not exist");
79e08fd0
BH
287 parentNode = newNode.getParent();
288 assertNull("getParent", parentNode);
64636df8 289
5673a177 290 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
79e08fd0
BH
291 parentNode = elementNode.getParent();
292 assertNull("getParent", parentNode);
64636df8 293
79e08fd0
BH
294 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
295 parentNode = catNode.getParent();
296 assertNotNull("getParent", parentNode);
5673a177 297 assertEquals("getParent", 0, parentNode.getPath().toString().compareTo(fStatsData.get(fTestName).getPath().toString()));
64636df8 298
79e08fd0
BH
299 parentNode = elementNode.getParent();
300 assertNotNull("getParent", parentNode);
5673a177 301 assertTrue(arraysEqual(parentNode.getPath(), fTestName, Messages.TmfStatisticsData_EventTypes));
79e08fd0 302 }
64636df8 303
79e08fd0
BH
304 // ------------------------------------------------------------------------
305 // GetKey
306 // ------------------------------------------------------------------------
09667aa4 307
64636df8
BH
308 /**
309 * Test getting of key.
310 */
79e08fd0 311 public void testGetKey() {
36033ff0 312 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 313 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 314 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177 315 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
64636df8 316
36033ff0 317 assertEquals("getKey", 0, rootNode.getKey().compareTo(TmfStatisticsTree.ROOT[0]));
09667aa4
MD
318 assertEquals("getKey", 0, traceNode.getKey().compareTo(fTestName));
319 assertEquals("getKey", 0, catNode.getKey().compareTo(Messages.TmfStatisticsData_EventTypes));
59b50985 320 assertEquals("getKey", 0, elementNode.getKey().compareTo(fType1.getName()));
79e08fd0 321 }
64636df8 322
79e08fd0
BH
323 // ------------------------------------------------------------------------
324 // GetPath
325 // ------------------------------------------------------------------------
64636df8
BH
326
327 /**
328 * Test getting of path to node.
329 */
79e08fd0 330 public void testGetPath() {
36033ff0 331 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 332 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 333 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177
AM
334 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
335
36033ff0 336 assertTrue("getPath", arraysEqual(rootNode.getPath(), TmfStatisticsTree.ROOT));
5673a177
AM
337 assertTrue("getPath", arraysEqual(traceNode.getPath(), fTestName));
338 assertTrue("getPath", arraysEqual(catNode.getPath(),
339 fTestName, Messages.TmfStatisticsData_EventTypes));
340 assertTrue("getPath", arraysEqual(elementNode.getPath(),
341 fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName()));
79e08fd0 342 }
64636df8 343
79e08fd0
BH
344 // ------------------------------------------------------------------------
345 // GetValue
346 // ------------------------------------------------------------------------
64636df8
BH
347
348 /**
255224d9 349 * Test getting statistic value.
64636df8 350 */
79e08fd0 351 public void testGetValue() {
36033ff0 352 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 353 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 354 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177
AM
355 TmfStatisticsTreeNode elementNode1 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
356 TmfStatisticsTreeNode elementNode3 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType2.getName());
64636df8 357
89c06060
AM
358 assertEquals("getValue", 0, rootNode.getValues().getTotal());
359 assertEquals("getValue", 9, traceNode.getValues().getTotal());
360 assertEquals("getValue", 0, catNode.getValues().getTotal());
361 assertEquals("getValue", 3, elementNode1.getValues().getTotal());
362 assertEquals("getValue", 4, elementNode3.getValues().getTotal());
363
364 assertEquals("getValue", 0, rootNode.getValues().getPartial());
365 assertEquals("getValue", 9, traceNode.getValues().getPartial());
366 assertEquals("getValue", 0, catNode.getValues().getPartial());
367 assertEquals("getValue", 3, elementNode1.getValues().getPartial());
368 assertEquals("getValue", 4, elementNode3.getValues().getPartial());
79e08fd0 369 }
64636df8 370
79e08fd0
BH
371 // ------------------------------------------------------------------------
372 // Reset
373 // ------------------------------------------------------------------------
64636df8
BH
374
375 /**
376 * Test reset of tree.
377 */
79e08fd0 378 public void testReset() {
36033ff0 379 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 380 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
79e08fd0 381 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177 382 TmfStatisticsTreeNode elementNode = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
64636df8 383
79e08fd0 384 elementNode.reset();
89c06060
AM
385 assertEquals("reset", 0, elementNode.getValues().getTotal());
386 assertEquals("reset", 0, elementNode.getValues().getPartial());
64636df8 387
79e08fd0 388 catNode.reset();
89c06060
AM
389 assertEquals("reset", 0, catNode.getValues().getTotal());
390 assertEquals("reset", 0, catNode.getValues().getPartial());
79e08fd0 391 assertEquals("reset", 0, catNode.getNbChildren());
5673a177 392 assertNull("reset", fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName()));
64636df8 393
79e08fd0 394 traceNode.reset();
89c06060
AM
395 assertEquals("reset", 0, traceNode.getValues().getTotal());
396 assertEquals("reset", 0, traceNode.getValues().getPartial());
79e08fd0
BH
397 // A trace always have at least one child that is eventType
398 assertEquals("reset", 1, traceNode.getNbChildren());
399
400 rootNode.reset();
89c06060
AM
401 assertEquals("reset", 0, rootNode.getValues().getTotal());
402 assertEquals("reset", 0, rootNode.getValues().getPartial());
79e08fd0
BH
403 assertEquals("reset", 1, rootNode.getNbChildren());
404 }
255224d9 405
59b50985
MD
406 /**
407 * Test reset global value of the node in the tree. It should only clear
408 * the global value without removing any node from the tree.
409 */
410 public void testResetGlobalValue() {
36033ff0 411 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 412 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
59b50985 413 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177
AM
414 TmfStatisticsTreeNode eventTypeNode1 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
415 TmfStatisticsTreeNode eventTypeNode2 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType2.getName());
59b50985
MD
416
417 rootNode.resetGlobalValue();
418
89c06060
AM
419 assertEquals(0, rootNode.getValues().getTotal());
420 assertEquals(0, traceNode.getValues().getTotal());
421 assertEquals(0, catNode.getValues().getTotal());
422 assertEquals(0, eventTypeNode1.getValues().getTotal());
423 assertEquals(0, eventTypeNode2.getValues().getTotal());
59b50985
MD
424
425 // Checks the state of the statistics tree
426 Collection<TmfStatisticsTreeNode> rootChildren = rootNode.getAllChildren();
427 assertEquals(1, rootChildren.size());
428 assertTrue(rootChildren.contains(traceNode));
429
430 Collection<TmfStatisticsTreeNode> traceChildren = traceNode.getAllChildren();
431 assertEquals(1, traceChildren.size());
432 assertTrue(traceChildren.contains(catNode));
433
434 Collection<TmfStatisticsTreeNode> catChildren = catNode.getAllChildren();
435 assertEquals(2, catChildren.size());
436 assertTrue(catChildren.contains(eventTypeNode1));
437 assertTrue(catChildren.contains(eventTypeNode2));
438 }
439
255224d9
MD
440 /**
441 * Test reset time range value of the node in the tree. It should only clear
442 * the time range value without removing any node from the tree.
443 */
444 public void testResetTimeRangeValue() {
36033ff0 445 TmfStatisticsTreeNode rootNode = fStatsData.get(TmfStatisticsTree.ROOT);
5673a177 446 TmfStatisticsTreeNode traceNode = fStatsData.get(fTestName);
255224d9 447 TmfStatisticsTreeNode catNode = traceNode.getChildren().iterator().next();
5673a177
AM
448 TmfStatisticsTreeNode eventTypeNode1 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType1.getName());
449 TmfStatisticsTreeNode eventTypeNode2 = fStatsData.get(fTestName, Messages.TmfStatisticsData_EventTypes, fType2.getName());
255224d9
MD
450
451 rootNode.resetTimeRangeValue();
452
89c06060
AM
453 assertEquals(0, rootNode.getValues().getPartial());
454 assertEquals(0, traceNode.getValues().getPartial());
455 assertEquals(0, catNode.getValues().getPartial());
456 assertEquals(0, eventTypeNode1.getValues().getPartial());
457 assertEquals(0, eventTypeNode2.getValues().getPartial());
255224d9
MD
458
459 // Checks the state of the statistics tree
460 Collection<TmfStatisticsTreeNode> rootChildren = rootNode.getAllChildren();
461 assertEquals(1, rootChildren.size());
462 assertTrue(rootChildren.contains(traceNode));
463
464 Collection<TmfStatisticsTreeNode> traceChildren = traceNode.getAllChildren();
465 assertEquals(1, traceChildren.size());
466 assertTrue(traceChildren.contains(catNode));
467
468 Collection<TmfStatisticsTreeNode> catChildren = catNode.getAllChildren();
469 assertEquals(2, catChildren.size());
470 assertTrue(catChildren.contains(eventTypeNode1));
471 assertTrue(catChildren.contains(eventTypeNode2));
472 }
5673a177
AM
473
474 /**
475 * Check if two String arrays are equals, by comparing their contents.
476 */
477 private static boolean arraysEqual(String[] array1, String... array2) {
478 if (array1.length != array2.length) {
479 return false;
480 }
481 for (int i = 0; i < array1.length; i++) {
482 if (!array1[i].equals(array2[i])) {
483 return false;
484 }
485 }
486 return true;
487 }
79e08fd0 488}
This page took 0.056988 seconds and 5 git commands to generate.