1 /*******************************************************************************
2 * Copyright (c) 2011, 2014 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 * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
11 * Bernd Hufmann - Fixed warnings
12 * Alexandre Montplaisir - Port to JUnit4
13 *******************************************************************************/
15 package org
.eclipse
.tracecompass
.tmf
.ui
.tests
.statistics
;
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
;
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
;
31 * TmfStatisticsTreeRootFactory Test Case.
33 public class TmfStatisticsTreeManagerTest
{
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
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";
47 // ------------------------------------------------------------------------
49 // ------------------------------------------------------------------------
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
);
65 * Clean the statistics tree
67 private static void removeStatsTreeRoot() {
68 TmfStatisticsTreeManager
.removeAll();
72 * Test adding of statistics tree root. It should not throw exceptions
75 public void testaddStatsTreeRoot() {
76 removeStatsTreeRoot();
79 assertNull(TmfStatisticsTreeManager
.addStatsTreeRoot(null, null));
80 assertNull(TmfStatisticsTreeManager
.addStatsTreeRoot(null, fStatisticsData1
));
81 assertNull(TmfStatisticsTreeManager
.addStatsTreeRoot(fDataKey1
, null));
82 assertNull(TmfStatisticsTreeManager
.getStatTreeRoot(fDataKey1
));
84 TmfStatisticsTreeNode returnRootNode
= TmfStatisticsTreeManager
.addStatsTreeRoot(fDataKey1
, fStatisticsData1
);
85 assertSame(fStatisticsData1
, TmfStatisticsTreeManager
.getStatTree(fDataKey1
));
86 assertSame(fStatisticsData1
.getRootNode(), returnRootNode
);
88 // Overwriting the value
89 returnRootNode
= TmfStatisticsTreeManager
.addStatsTreeRoot(fDataKey1
, fStatisticsData2
);
90 assertSame(fStatisticsData2
, TmfStatisticsTreeManager
.getStatTree(fDataKey1
));
91 assertSame(fStatisticsData2
.getRootNode(), returnRootNode
);
94 } catch(Exception e
) {
95 fail("AddStatsTreeRoot");
99 // ------------------------------------------------------------------------
101 // ------------------------------------------------------------------------
104 * Test getting of statistics tree root.
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));
118 * Test getting statistics tree.
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));
131 // ------------------------------------------------------------------------
133 // ------------------------------------------------------------------------
136 * Test checking for tree root existence.
139 public void testContainsTreeRoot() {
140 assertTrue("containsTreeRoot", TmfStatisticsTreeManager
.containsTreeRoot(fDataKey1
));
141 assertTrue("containsTreeRoot", TmfStatisticsTreeManager
.containsTreeRoot(fDataKey2
));
142 assertFalse("containsTreeRoot", TmfStatisticsTreeManager
.containsTreeRoot(null));
145 // ------------------------------------------------------------------------
147 // ------------------------------------------------------------------------
150 * Test removal of statistics tree node.
153 public void testRemoveStatTreeRoot() {
154 TmfStatisticsTreeManager
.removeStatTreeRoot(fDataKey1
);
155 assertNull("removeStatTreeRoot", TmfStatisticsTreeManager
.getStatTree(fDataKey1
));
158 // Trying to remove the same branch from the tree.
159 TmfStatisticsTreeManager
.removeStatTreeRoot(fDataKey1
);
161 TmfStatisticsTreeManager
.removeStatTreeRoot(null);
163 } catch (Exception e
) {
164 fail("removeStatTreeRoot");
169 * Test removal of all root nodes.
172 public void testRemoveAll() {
173 TmfStatisticsTreeManager
.removeAll();
174 assertNull("removeAll", TmfStatisticsTreeManager
.getStatTreeRoot(fDataKey2
));
175 assertNull("removeAll", TmfStatisticsTreeManager
.getStatTreeRoot(fDataKey3
));