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
.ui
.viewers
.statistics
.model
.TmfBaseColumnData
;
21 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfBaseColumnData
.ITmfColumnPercentageProvider
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfStatisticsTree
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfStatisticsTreeNode
;
24 import org
.eclipse
.swt
.SWT
;
25 import org
.eclipse
.swt
.graphics
.Image
;
26 import org
.eclipse
.ui
.ISharedImages
;
27 import org
.eclipse
.ui
.PlatformUI
;
30 * TmfBaseColumnData Test Case.
32 @SuppressWarnings("nls")
33 public class TmfBaseColumnDataTest
extends TestCase
{
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
39 private int fAlignment
;
41 private String fHeader
;
42 private String fToolTip
;
43 private ColumnLabelProvider fLabelProvider
;
44 private ViewerComparator fComparator
;
45 private ITmfColumnPercentageProvider fPercentageProvider
;
46 private TmfStatisticsTreeNode fTreeNode
;
47 private String fTraceName
;
48 private TmfBaseColumnData fBaseColumnData
;
50 // ------------------------------------------------------------------------
52 // ------------------------------------------------------------------------
55 fHeader
= "test Column1";
57 fAlignment
= SWT
.LEFT
;
58 fToolTip
= "Tooltip " + fHeader
;
59 fLabelProvider
= new ColumnLabelProvider() {
61 public String
getText(Object element
) {
62 return ((TmfStatisticsTreeNode
) element
).getKey();
66 public Image
getImage(Object element
) {
67 return PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
);
70 fComparator
= new ViewerComparator() {
72 public int compare(Viewer viewer
, Object e1
, Object e2
) {
73 TmfStatisticsTreeNode n1
= (TmfStatisticsTreeNode
) e1
;
74 TmfStatisticsTreeNode n2
= (TmfStatisticsTreeNode
) e2
;
76 return n1
.getKey().compareTo(n2
.getKey());
79 fPercentageProvider
= new ITmfColumnPercentageProvider() {
81 public double getPercentage(TmfStatisticsTreeNode node
) {
82 TmfStatisticsTreeNode parent
= node
;
84 parent
= parent
.getParent();
85 } while (parent
!= null && parent
.getValues().getTotal() == 0);
90 return (double) node
.getValues().getTotal() / parent
.getValues().getTotal();
94 TmfStatisticsTree baseData
= new TmfStatisticsTree();
95 fTraceName
= "trace1";
96 fTreeNode
= new TmfStatisticsTreeNode(baseData
, fTraceName
);
98 fBaseColumnData
= new TmfBaseColumnData(fHeader
, fWidth
, fAlignment
, fToolTip
, fLabelProvider
, fComparator
, fPercentageProvider
);
102 public void setUp() throws Exception
{
108 public void tearDown() throws Exception
{
112 // ------------------------------------------------------------------------
114 // ------------------------------------------------------------------------
119 public void testGetHeader() {
120 assertEquals("getHeader", 0, fBaseColumnData
.getHeader().compareTo(fHeader
));
123 // ------------------------------------------------------------------------
125 // ------------------------------------------------------------------------
128 * Test getting of column width.
130 public void testGetWidth() {
131 assertEquals("getWidth", fWidth
, fBaseColumnData
.getWidth());
134 // ------------------------------------------------------------------------
136 // ------------------------------------------------------------------------
139 * Test getting of alignment value
141 public void testGetAlignment() {
142 assertEquals("getAlignment", fAlignment
, fBaseColumnData
.getAlignment());
145 // ------------------------------------------------------------------------
147 // ------------------------------------------------------------------------
150 * Test getting of tooltip.
152 public void testGetTooltip() {
153 assertEquals("getTooltip", fToolTip
, fBaseColumnData
.getTooltip());
156 // ------------------------------------------------------------------------
158 // ------------------------------------------------------------------------
161 * Test getting of label provider
163 public void testGetLabelProvider() {
164 assertEquals("getLabelProvider", 0, fBaseColumnData
.getLabelProvider().getText(fTreeNode
).compareTo(fLabelProvider
.getText(fTreeNode
)));
165 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().getImage(fTreeNode
).equals(PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
)));
166 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().equals(fLabelProvider
));
169 // ------------------------------------------------------------------------
171 // ------------------------------------------------------------------------
174 * Test getting of comparator.
176 public void testGetComparator() {
177 assertTrue("getComparator", fBaseColumnData
.getComparator().equals(fComparator
));
180 // ------------------------------------------------------------------------
181 // getPercentageProvider
182 // ------------------------------------------------------------------------
185 * Test getting of percentage provider.
187 public void testGetPercentageProvider() {
188 assertTrue("getPercentageProvider", fBaseColumnData
.getPercentageProvider().equals(fPercentageProvider
));