1 /*******************************************************************************
2 * Copyright (c) 2011 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 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.ui
.tests
.statistics
;
15 import junit
.framework
.TestCase
;
17 import org
.eclipse
.jface
.viewers
.ColumnLabelProvider
;
18 import org
.eclipse
.jface
.viewers
.Viewer
;
19 import org
.eclipse
.jface
.viewers
.ViewerComparator
;
20 import org
.eclipse
.linuxtools
.tmf
.core
.util
.TmfFixedArray
;
21 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.statistics
.model
.TmfBaseColumnData
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.statistics
.model
.TmfBaseColumnData
.ITmfColumnPercentageProvider
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.statistics
.model
.TmfBaseStatisticsTree
;
24 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.statistics
.model
.TmfStatisticsTreeNode
;
25 import org
.eclipse
.swt
.SWT
;
26 import org
.eclipse
.swt
.graphics
.Image
;
27 import org
.eclipse
.ui
.ISharedImages
;
28 import org
.eclipse
.ui
.PlatformUI
;
31 * TmfBaseColumnData Test Case.
33 @SuppressWarnings("nls")
34 public class TmfBaseColumnDataTest
extends TestCase
{
36 // ------------------------------------------------------------------------
38 // ------------------------------------------------------------------------
40 private int fAlignment
;
42 private String fHeader
;
43 private String fToolTip
;
44 private ColumnLabelProvider fLabelProvider
;
45 private ViewerComparator fComparator
;
46 private ITmfColumnPercentageProvider fPercentageProvider
;
47 private TmfStatisticsTreeNode fTreeNode
;
48 private String fTraceName
;
49 private TmfBaseColumnData fBaseColumnData
;
51 // ------------------------------------------------------------------------
53 // ------------------------------------------------------------------------
56 fHeader
= "test Column1";
58 fAlignment
= SWT
.LEFT
;
59 fToolTip
= "Tooltip " + fHeader
;
60 fLabelProvider
= new ColumnLabelProvider() {
62 public String
getText(Object element
) {
63 return ((TmfStatisticsTreeNode
) element
).getKey();
67 public Image
getImage(Object element
) {
68 return PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
);
71 fComparator
= new ViewerComparator() {
73 public int compare(Viewer viewer
, Object e1
, Object e2
) {
74 TmfStatisticsTreeNode n1
= (TmfStatisticsTreeNode
) e1
;
75 TmfStatisticsTreeNode n2
= (TmfStatisticsTreeNode
) e2
;
77 return n1
.getKey().compareTo(n2
.getKey());
80 fPercentageProvider
= new ITmfColumnPercentageProvider() {
82 public double getPercentage(TmfStatisticsTreeNode node
) {
83 TmfStatisticsTreeNode parent
= node
;
85 parent
= parent
.getParent();
86 } while (parent
!= null && parent
.getValue().nbEvents
== 0);
91 return (double) node
.getValue().nbEvents
/ parent
.getValue().nbEvents
;
95 TmfBaseStatisticsTree baseData
= new TmfBaseStatisticsTree();
96 fTraceName
= "trace1";
97 fTreeNode
= new TmfStatisticsTreeNode(new TmfFixedArray
<String
>(fTraceName
), baseData
);
99 fBaseColumnData
= new TmfBaseColumnData(fHeader
, fWidth
, fAlignment
, fToolTip
, fLabelProvider
, fComparator
, fPercentageProvider
);
103 public void setUp() throws Exception
{
109 public void tearDown() throws Exception
{
113 // ------------------------------------------------------------------------
115 // ------------------------------------------------------------------------
120 public void testGetHeader() {
121 assertEquals("getHeader", 0, fBaseColumnData
.getHeader().compareTo(fHeader
));
124 // ------------------------------------------------------------------------
126 // ------------------------------------------------------------------------
129 * Test getting of column width.
131 public void testGetWidth() {
132 assertEquals("getWidth", fWidth
, fBaseColumnData
.getWidth());
135 // ------------------------------------------------------------------------
137 // ------------------------------------------------------------------------
140 * Test getting of alignment value
142 public void testGetAlignment() {
143 assertEquals("getAlignment", fAlignment
, fBaseColumnData
.getAlignment());
146 // ------------------------------------------------------------------------
148 // ------------------------------------------------------------------------
151 * Test getting of tooltip.
153 public void testGetTooltip() {
154 assertEquals("getTooltip", fToolTip
, fBaseColumnData
.getTooltip());
157 // ------------------------------------------------------------------------
159 // ------------------------------------------------------------------------
162 * Test getting of label provider
164 public void testGetLabelProvider() {
165 assertEquals("getLabelProvider", 0, fBaseColumnData
.getLabelProvider().getText(fTreeNode
).compareTo(fLabelProvider
.getText(fTreeNode
)));
166 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().getImage(fTreeNode
).equals(PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
)));
167 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().equals(fLabelProvider
));
170 // ------------------------------------------------------------------------
172 // ------------------------------------------------------------------------
175 * Test getting of comparator.
177 public void testGetComparator() {
178 assertTrue("getComparator", fBaseColumnData
.getComparator().equals(fComparator
));
181 // ------------------------------------------------------------------------
182 // getPercentageProvider
183 // ------------------------------------------------------------------------
186 * Test getting of percentage provider.
188 public void testGetPercentageProvider() {
189 assertTrue("getPercentageProvider", fBaseColumnData
.getPercentageProvider().equals(fPercentageProvider
));