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
1 /*******************************************************************************
2 * Copyright (c) 2011 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 * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
11 * Bernd Hufmann - Fixed warnings
12 *******************************************************************************/
13
14 package org.eclipse.linuxtools.tmf.ui.tests.statistics;
15
16 import junit.framework.TestCase;
17
18 import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
19 import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager;
20 import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
21
22 /**
23 * TmfStatisticsTreeRootFactory Test Case.
24 */
25 @SuppressWarnings("nls")
26 public class TmfStatisticsTreeManagerTest extends TestCase {
27
28 // ------------------------------------------------------------------------
29 // Fields
30 // ------------------------------------------------------------------------
31
32 TmfStatisticsTree fStatisticsData1;
33 TmfStatisticsTree fStatisticsData2;
34 TmfStatisticsTree fStatisticsData3;
35 String fDataKey1 = "key1";
36 String fDataKey2 = "key2";
37 String fDataKey3 = "key3";
38
39 // ------------------------------------------------------------------------
40 // Housekeeping
41 // ------------------------------------------------------------------------
42
43 @Override
44 protected void setUp() throws Exception {
45 super.setUp();
46 addStatsTreeRoot();
47 }
48
49 @Override
50 protected void tearDown() throws Exception {
51 super.tearDown();
52 }
53
54 /**
55 * Adding of statistics tree root.
56 */
57 public void addStatsTreeRoot() {
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);
64 }
65
66 /**
67 * Clean the statistics tree
68 */
69 public void removeStatsTreeRoot() {
70 TmfStatisticsTreeManager.removeAll();
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 {
80 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, null));
81 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, fStatisticsData1));
82 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, null));
83 assertNull(TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1));
84
85 TmfStatisticsTreeNode returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
86 assertSame(fStatisticsData1, TmfStatisticsTreeManager.getStatTree(fDataKey1));
87 assertSame(fStatisticsData1.getRootNode(), returnRootNode);
88
89 // Overwriting the value
90 returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData2);
91 assertSame(fStatisticsData2, TmfStatisticsTreeManager.getStatTree(fDataKey1));
92 assertSame(fStatisticsData2.getRootNode(), returnRootNode);
93
94 // Success
95 } catch(Exception e) {
96 fail("AddStatsTreeRoot");
97 }
98 }
99
100 // ------------------------------------------------------------------------
101 // get
102 // ------------------------------------------------------------------------
103
104 /**
105 * Test getting of statistics tree root.
106 */
107 public void testGetStatTreeRoot() {
108 TmfStatisticsTreeNode value1 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
109 TmfStatisticsTreeNode value2 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2);
110 TmfStatisticsTreeNode value3 = TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1);
111 assertNotSame("getStatTreeRoot", value1, value2);
112 assertNotSame("getStatTreeRoot", value2, value3);
113 assertSame("getStatTreeRoot", value1, value3);
114 assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTreeRoot(null));
115 }
116
117 /**
118 * Test getting statistics tree.
119 */
120 public void testGetStatTree() {
121 TmfStatisticsTree value1 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
122 TmfStatisticsTree value2 = TmfStatisticsTreeManager.getStatTree(fDataKey2);
123 TmfStatisticsTree value3 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
124 assertNotSame("getStatTree", value1, value2);
125 assertNotSame("getStatTree", value2, value3);
126 assertSame("getStatTree", value1, value3);
127 assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTree(null));
128 }
129
130 // ------------------------------------------------------------------------
131 // contains
132 // ------------------------------------------------------------------------
133
134 /**
135 * Test checking for tree root existence.
136 */
137 public void testContainsTreeRoot() {
138 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey1));
139 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey2));
140 assertFalse("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(null));
141 }
142
143 // ------------------------------------------------------------------------
144 // remove
145 // ------------------------------------------------------------------------
146
147 /**
148 * Test removal of statistics tree node.
149 */
150 public void testRemoveStatTreeRoot() {
151 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
152 assertNull("removeStatTreeRoot", TmfStatisticsTreeManager.getStatTree(fDataKey1));
153
154 try {
155 // Trying to remove the same branch from the tree.
156 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
157
158 TmfStatisticsTreeManager.removeStatTreeRoot(null);
159 // Success
160 } catch (Exception e) {
161 fail("removeStatTreeRoot");
162 }
163 }
164
165 /**
166 * Test removal of all root nodes.
167 */
168 public void testRemoveAll() {
169 TmfStatisticsTreeManager.removeAll();
170 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2));
171 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey3));
172 }
173 }
This page took 0.03679 seconds and 6 git commands to generate.