9ab3bd0dd67e3bef768fca0174fdbabe10d3db47
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui.tests / src / org / eclipse / tracecompass / tmf / ui / tests / statistics / TmfStatisticsTreeManagerTest.java
1 /*******************************************************************************
2 * Copyright (c) 2011, 2014 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 * Alexandre Montplaisir - Port to JUnit4
13 *******************************************************************************/
14
15 package org.eclipse.tracecompass.tmf.ui.tests.statistics;
16
17 import static org.junit.Assert.assertFalse;
18 import static org.junit.Assert.assertNotSame;
19 import static org.junit.Assert.assertNull;
20 import static org.junit.Assert.assertSame;
21 import static org.junit.Assert.assertTrue;
22 import static org.junit.Assert.fail;
23
24 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
25 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager;
26 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
27 import org.junit.Before;
28 import org.junit.Test;
29
30 /**
31 * TmfStatisticsTreeRootFactory Test Case.
32 */
33 public class TmfStatisticsTreeManagerTest {
34
35 // ------------------------------------------------------------------------
36 // Fields
37 // ------------------------------------------------------------------------
38
39 private TmfStatisticsTree fStatisticsData1;
40 private TmfStatisticsTree fStatisticsData2;
41 private TmfStatisticsTree fStatisticsData3;
42 private String fDataKey1 = "key1";
43 private String fDataKey2 = "key2";
44 private String fDataKey3 = "key3";
45
46
47 // ------------------------------------------------------------------------
48 // Housekeeping
49 // ------------------------------------------------------------------------
50
51 /**
52 * Initialization
53 */
54 @Before
55 public void setUp() {
56 fStatisticsData1 = new TmfStatisticsTree();
57 fStatisticsData2 = new TmfStatisticsTree();
58 fStatisticsData3 = new TmfStatisticsTree();
59 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
60 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData2);
61 TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey2, fStatisticsData3);
62 }
63
64 /**
65 * Clean the statistics tree
66 */
67 private static void removeStatsTreeRoot() {
68 TmfStatisticsTreeManager.removeAll();
69 }
70
71 /**
72 * Test adding of statistics tree root. It should not throw exceptions
73 */
74 @Test
75 public void testaddStatsTreeRoot() {
76 removeStatsTreeRoot();
77
78 try {
79 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, null));
80 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, fStatisticsData1));
81 assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, null));
82 assertNull(TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1));
83
84 TmfStatisticsTreeNode returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1);
85 assertSame(fStatisticsData1, TmfStatisticsTreeManager.getStatTree(fDataKey1));
86 assertSame(fStatisticsData1.getRootNode(), returnRootNode);
87
88 // Overwriting the value
89 returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData2);
90 assertSame(fStatisticsData2, TmfStatisticsTreeManager.getStatTree(fDataKey1));
91 assertSame(fStatisticsData2.getRootNode(), returnRootNode);
92
93 // Success
94 } catch(Exception e) {
95 fail("AddStatsTreeRoot");
96 }
97 }
98
99 // ------------------------------------------------------------------------
100 // get
101 // ------------------------------------------------------------------------
102
103 /**
104 * Test getting of statistics tree root.
105 */
106 @Test
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 @Test
121 public void testGetStatTree() {
122 TmfStatisticsTree value1 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
123 TmfStatisticsTree value2 = TmfStatisticsTreeManager.getStatTree(fDataKey2);
124 TmfStatisticsTree value3 = TmfStatisticsTreeManager.getStatTree(fDataKey1);
125 assertNotSame("getStatTree", value1, value2);
126 assertNotSame("getStatTree", value2, value3);
127 assertSame("getStatTree", value1, value3);
128 assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTree(null));
129 }
130
131 // ------------------------------------------------------------------------
132 // contains
133 // ------------------------------------------------------------------------
134
135 /**
136 * Test checking for tree root existence.
137 */
138 @Test
139 public void testContainsTreeRoot() {
140 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey1));
141 assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey2));
142 assertFalse("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(null));
143 }
144
145 // ------------------------------------------------------------------------
146 // remove
147 // ------------------------------------------------------------------------
148
149 /**
150 * Test removal of statistics tree node.
151 */
152 @Test
153 public void testRemoveStatTreeRoot() {
154 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
155 assertNull("removeStatTreeRoot", TmfStatisticsTreeManager.getStatTree(fDataKey1));
156
157 try {
158 // Trying to remove the same branch from the tree.
159 TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1);
160
161 TmfStatisticsTreeManager.removeStatTreeRoot(null);
162 // Success
163 } catch (Exception e) {
164 fail("removeStatTreeRoot");
165 }
166 }
167
168 /**
169 * Test removal of all root nodes.
170 */
171 @Test
172 public void testRemoveAll() {
173 TmfStatisticsTreeManager.removeAll();
174 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2));
175 assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey3));
176 }
177 }
This page took 0.057698 seconds and 4 git commands to generate.