Commit | Line | Data |
---|---|---|
79e08fd0 | 1 | /******************************************************************************* |
90ed5958 | 2 | * Copyright (c) 2011, 2013 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 | 11 | * Bernd Hufmann - Fixed warnings |
90ed5958 | 12 | * Alexandre Montplaisir - Port to JUnit4 |
79e08fd0 BH |
13 | *******************************************************************************/ |
14 | ||
15 | package org.eclipse.linuxtools.tmf.ui.tests.statistics; | |
16 | ||
90ed5958 AM |
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; | |
79e08fd0 | 23 | |
36033ff0 AM |
24 | import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTree; |
25 | import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager; | |
cfd22ad0 | 26 | import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode; |
90ed5958 AM |
27 | import org.junit.Before; |
28 | import org.junit.Test; | |
79e08fd0 | 29 | |
64636df8 BH |
30 | /** |
31 | * TmfStatisticsTreeRootFactory Test Case. | |
32 | */ | |
90ed5958 | 33 | public class TmfStatisticsTreeManagerTest { |
64636df8 | 34 | |
79e08fd0 BH |
35 | // ------------------------------------------------------------------------ |
36 | // Fields | |
37 | // ------------------------------------------------------------------------ | |
64636df8 | 38 | |
90ed5958 AM |
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 | ||
64636df8 | 46 | |
79e08fd0 BH |
47 | // ------------------------------------------------------------------------ |
48 | // Housekeeping | |
49 | // ------------------------------------------------------------------------ | |
64636df8 | 50 | |
64636df8 | 51 | /** |
90ed5958 | 52 | * Initialization |
64636df8 | 53 | */ |
90ed5958 AM |
54 | @Before |
55 | public void setUp() { | |
36033ff0 AM |
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); | |
79e08fd0 | 62 | } |
64636df8 | 63 | |
255224d9 MD |
64 | /** |
65 | * Clean the statistics tree | |
66 | */ | |
90ed5958 | 67 | private static void removeStatsTreeRoot() { |
36033ff0 | 68 | TmfStatisticsTreeManager.removeAll(); |
255224d9 MD |
69 | } |
70 | ||
71 | /** | |
72 | * Test adding of statistics tree root. It should not throw exceptions | |
73 | */ | |
90ed5958 | 74 | @Test |
255224d9 MD |
75 | public void testaddStatsTreeRoot() { |
76 | removeStatsTreeRoot(); | |
77 | ||
78 | try { | |
36033ff0 AM |
79 | assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, null)); |
80 | assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(null, fStatisticsData1)); | |
81 | assertNull(TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, null)); | |
82 | assertNull(TmfStatisticsTreeManager.getStatTreeRoot(fDataKey1)); | |
255224d9 | 83 | |
36033ff0 AM |
84 | TmfStatisticsTreeNode returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData1); |
85 | assertSame(fStatisticsData1, TmfStatisticsTreeManager.getStatTree(fDataKey1)); | |
7588c810 | 86 | assertSame(fStatisticsData1.getRootNode(), returnRootNode); |
255224d9 MD |
87 | |
88 | // Overwriting the value | |
36033ff0 AM |
89 | returnRootNode = TmfStatisticsTreeManager.addStatsTreeRoot(fDataKey1, fStatisticsData2); |
90 | assertSame(fStatisticsData2, TmfStatisticsTreeManager.getStatTree(fDataKey1)); | |
7588c810 | 91 | assertSame(fStatisticsData2.getRootNode(), returnRootNode); |
255224d9 MD |
92 | |
93 | // Success | |
94 | } catch(Exception e) { | |
95 | fail("AddStatsTreeRoot"); | |
96 | } | |
97 | } | |
98 | ||
79e08fd0 BH |
99 | // ------------------------------------------------------------------------ |
100 | // get | |
101 | // ------------------------------------------------------------------------ | |
64636df8 BH |
102 | |
103 | /** | |
104 | * Test getting of statistics tree root. | |
105 | */ | |
90ed5958 | 106 | @Test |
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 | */ | |
90ed5958 | 120 | @Test |
79e08fd0 | 121 | public void testGetStatTree() { |
36033ff0 AM |
122 | TmfStatisticsTree value1 = TmfStatisticsTreeManager.getStatTree(fDataKey1); |
123 | TmfStatisticsTree value2 = TmfStatisticsTreeManager.getStatTree(fDataKey2); | |
124 | TmfStatisticsTree value3 = TmfStatisticsTreeManager.getStatTree(fDataKey1); | |
79e08fd0 BH |
125 | assertNotSame("getStatTree", value1, value2); |
126 | assertNotSame("getStatTree", value2, value3); | |
127 | assertSame("getStatTree", value1, value3); | |
36033ff0 | 128 | assertNull("getStatTreeRoot", TmfStatisticsTreeManager.getStatTree(null)); |
79e08fd0 BH |
129 | } |
130 | ||
131 | // ------------------------------------------------------------------------ | |
132 | // contains | |
133 | // ------------------------------------------------------------------------ | |
64636df8 BH |
134 | |
135 | /** | |
136 | * Test checking for tree root existence. | |
137 | */ | |
90ed5958 | 138 | @Test |
79e08fd0 | 139 | public void testContainsTreeRoot() { |
36033ff0 AM |
140 | assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey1)); |
141 | assertTrue("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(fDataKey2)); | |
142 | assertFalse("containsTreeRoot", TmfStatisticsTreeManager.containsTreeRoot(null)); | |
79e08fd0 BH |
143 | } |
144 | ||
145 | // ------------------------------------------------------------------------ | |
146 | // remove | |
147 | // ------------------------------------------------------------------------ | |
64636df8 BH |
148 | |
149 | /** | |
150 | * Test removal of statistics tree node. | |
151 | */ | |
90ed5958 | 152 | @Test |
79e08fd0 | 153 | public void testRemoveStatTreeRoot() { |
36033ff0 AM |
154 | TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1); |
155 | assertNull("removeStatTreeRoot", TmfStatisticsTreeManager.getStatTree(fDataKey1)); | |
64636df8 | 156 | |
79e08fd0 | 157 | try { |
255224d9 | 158 | // Trying to remove the same branch from the tree. |
36033ff0 | 159 | TmfStatisticsTreeManager.removeStatTreeRoot(fDataKey1); |
255224d9 | 160 | |
36033ff0 | 161 | TmfStatisticsTreeManager.removeStatTreeRoot(null); |
79e08fd0 BH |
162 | // Success |
163 | } catch (Exception e) { | |
164 | fail("removeStatTreeRoot"); | |
165 | } | |
166 | } | |
167 | ||
64636df8 BH |
168 | /** |
169 | * Test removal of all root nodes. | |
170 | */ | |
90ed5958 | 171 | @Test |
79e08fd0 | 172 | public void testRemoveAll() { |
36033ff0 AM |
173 | TmfStatisticsTreeManager.removeAll(); |
174 | assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey2)); | |
175 | assertNull("removeAll", TmfStatisticsTreeManager.getStatTreeRoot(fDataKey3)); | |
79e08fd0 BH |
176 | } |
177 | } |