tmf: Move the stats tree structure logic to the nodes
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / statistics / TmfStatisticsTreeManagerTest.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 junit.framework.TestCase;
17
36033ff0
AM
18import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
19import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager;
cfd22ad0 20import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
79e08fd0 21
64636df8
BH
22/**
23 * TmfStatisticsTreeRootFactory Test Case.
24 */
79e08fd0 25@SuppressWarnings("nls")
36033ff0 26public class TmfStatisticsTreeManagerTest extends TestCase {
64636df8 27
79e08fd0
BH
28 // ------------------------------------------------------------------------
29 // Fields
30 // ------------------------------------------------------------------------
64636df8 31
36033ff0
AM
32 TmfStatisticsTree fStatisticsData1;
33 TmfStatisticsTree fStatisticsData2;
34 TmfStatisticsTree fStatisticsData3;
79e08fd0
BH
35 String fDataKey1 = "key1";
36 String fDataKey2 = "key2";
37 String fDataKey3 = "key3";
64636df8 38
79e08fd0
BH
39 // ------------------------------------------------------------------------
40 // Housekeeping
41 // ------------------------------------------------------------------------
64636df8 42
79e08fd0
BH
43 @Override
44 protected void setUp() throws Exception {
45 super.setUp();
46 addStatsTreeRoot();
47 }
64636df8 48
79e08fd0
BH
49 @Override
50 protected void tearDown() throws Exception {
51 super.tearDown();
52 }
64636df8
BH
53
54 /**
255224d9 55 * Adding of statistics tree root.
64636df8 56 */
79e08fd0 57 public void addStatsTreeRoot() {
36033ff0
AM
58 fStatisticsData1 = new TmfStatisticsTree();
59 fStatisticsData2 = new TmfStatisticsTree();
60 fStatisticsData3 = new TmfStatisticsTree();
61 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
62 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData2);
63 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData3);
79e08fd0 64 }
64636df8 65
255224d9
MD
66 /**
67 * Clean the statistics tree
68 */
69 public void removeStatsTreeRoot() {
36033ff0 70 TmfStatisticsTreeManager.removeAll();
255224d9
MD
71 }
72
73 /**
74 * Test adding of statistics tree root. It should not throw exceptions
75 */
76 public void testaddStatsTreeRoot() {
77 removeStatsTreeRoot();
78
79 try {
36033ff0
AM
80 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, null));
81 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, fStatisticsData1));
82 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, null));
83 assertNull(TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1));
255224d9 84
36033ff0
AM
85 TmfStatisticsTreeNode returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
86 assertSame(fStatisticsData1, TmfStatisticsTreeManager.getStatTree(fDataKey1));
7588c810 87 assertSame(fStatisticsData1.getRootNode(), returnRootNode);
255224d9
MD
88
89 // Overwriting the value
36033ff0
AM
90 returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData2);
91 assertSame(fStatisticsData2, TmfStatisticsTreeManager.getStatTree(fDataKey1));
7588c810 92 assertSame(fStatisticsData2.getRootNode(), returnRootNode);
255224d9
MD
93
94 // Success
95 } catch(Exception e) {
96 fail("AddStatsTreeRoot");
97 }
98 }
99
79e08fd0
BH
100 // ------------------------------------------------------------------------
101 // get
102 // ------------------------------------------------------------------------
64636df8
BH
103
104 /**
105 * Test getting of statistics tree root.
106 */
79e08fd0 107 public void testGetStatTreeRoot() {
36033ff0
AM
108 TmfStatisticsTreeNode value1 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
109 TmfStatisticsTreeNode value2 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2);
110 TmfStatisticsTreeNode value3 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
79e08fd0
BH
111 assertNotSame("getStatTreeRoot", value1, value2);
112 assertNotSame("getStatTreeRoot", value2, value3);
113 assertSame("getStatTreeRoot", value1, value3);
36033ff0 114 assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTreeRoot(null));
79e08fd0
BH
115 }
116
64636df8
BH
117 /**
118 * Test getting statistics tree.
119 */
79e08fd0 120 public void testGetStatTree() {
36033ff0
AM
121 TmfStatisticsTree value1 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
122 TmfStatisticsTree value2 = TmfStatisticsTreeManager.getStatTree(fDataKey2);
123 TmfStatisticsTree value3 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
79e08fd0
BH
124 assertNotSame("getStatTree", value1, value2);
125 assertNotSame("getStatTree", value2, value3);
126 assertSame("getStatTree", value1, value3);
36033ff0 127 assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTree(null));
79e08fd0
BH
128 }
129
130 // ------------------------------------------------------------------------
131 // contains
132 // ------------------------------------------------------------------------
64636df8
BH
133
134 /**
135 * Test checking for tree root existence.
136 */
79e08fd0 137 public void testContainsTreeRoot() {
36033ff0
AM
138 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey1));
139 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey2));
140 assertFalse("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(null));
79e08fd0
BH
141 }
142
143 // ------------------------------------------------------------------------
144 // remove
145 // ------------------------------------------------------------------------
64636df8
BH
146
147 /**
148 * Test removal of statistics tree node.
149 */
79e08fd0 150 public void testRemoveStatTreeRoot() {
36033ff0
AM
151 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
152 assertNull("removeStatTreeRoot", TmfStatisticsTreeManager.getStatTree(fDataKey1));
64636df8 153
79e08fd0 154 try {
255224d9 155 // Trying to remove the same branch from the tree.
36033ff0 156 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
255224d9 157
36033ff0 158 TmfStatisticsTreeManager.removeStatTreeRoot(null);
79e08fd0
BH
159 // Success
160 } catch (Exception e) {
161 fail("removeStatTreeRoot");
162 }
163 }
164
64636df8
BH
165 /**
166 * Test removal of all root nodes.
167 */
79e08fd0 168 public void testRemoveAll() {
36033ff0
AM
169 TmfStatisticsTreeManager.removeAll();
170 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2));
171 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey3));
79e08fd0
BH
172 }
173}
This page took 0.037124 seconds and 5 git commands to generate.