1 /*******************************************************************************
2 * Copyright (c) 2011, 2013 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 * Alexandre Montplaisir - Port to JUnit4
12 *******************************************************************************/
14 package org
.eclipse
.linuxtools
.tmf
.ui
.tests
.statistics
;
16 import static org
.junit
.Assert
.assertEquals
;
17 import static org
.junit
.Assert
.assertTrue
;
19 import org
.eclipse
.jface
.viewers
.ColumnLabelProvider
;
20 import org
.eclipse
.jface
.viewers
.Viewer
;
21 import org
.eclipse
.jface
.viewers
.ViewerComparator
;
22 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfBaseColumnData
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfBaseColumnData
.ITmfColumnPercentageProvider
;
24 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfStatisticsTree
;
25 import org
.eclipse
.linuxtools
.tmf
.ui
.viewers
.statistics
.model
.TmfStatisticsTreeNode
;
26 import org
.eclipse
.swt
.SWT
;
27 import org
.eclipse
.swt
.graphics
.Image
;
28 import org
.eclipse
.ui
.ISharedImages
;
29 import org
.eclipse
.ui
.PlatformUI
;
30 import org
.junit
.Before
;
31 import org
.junit
.Test
;
34 * TmfBaseColumnData Test Case.
36 public class TmfBaseColumnDataTest
{
38 // ------------------------------------------------------------------------
40 // ------------------------------------------------------------------------
42 private int fAlignment
;
44 private String fHeader
;
45 private String fToolTip
;
46 private ColumnLabelProvider fLabelProvider
;
47 private ViewerComparator fComparator
;
48 private ITmfColumnPercentageProvider fPercentageProvider
;
49 private TmfStatisticsTreeNode fTreeNode
;
50 private String fTraceName
;
51 private TmfBaseColumnData fBaseColumnData
;
53 // ------------------------------------------------------------------------
55 // ------------------------------------------------------------------------
62 fHeader
= "test Column1";
64 fAlignment
= SWT
.LEFT
;
65 fToolTip
= "Tooltip " + fHeader
;
66 fLabelProvider
= new ColumnLabelProvider() {
68 public String
getText(Object element
) {
69 return ((TmfStatisticsTreeNode
) element
).getName();
73 public Image
getImage(Object element
) {
74 return PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
);
77 fComparator
= new ViewerComparator() {
79 public int compare(Viewer viewer
, Object e1
, Object e2
) {
80 TmfStatisticsTreeNode n1
= (TmfStatisticsTreeNode
) e1
;
81 TmfStatisticsTreeNode n2
= (TmfStatisticsTreeNode
) e2
;
83 return n1
.getName().compareTo(n2
.getName());
86 fPercentageProvider
= new ITmfColumnPercentageProvider() {
88 public double getPercentage(TmfStatisticsTreeNode node
) {
89 TmfStatisticsTreeNode parent
= node
;
91 parent
= parent
.getParent();
92 } while (parent
!= null && parent
.getValues().getTotal() == 0);
97 return (double) node
.getValues().getTotal() / parent
.getValues().getTotal();
101 TmfStatisticsTree baseData
= new TmfStatisticsTree();
102 fTraceName
= "trace1";
103 fTreeNode
= new TmfStatisticsTreeNode(baseData
, baseData
.getRootNode(), fTraceName
);
105 fBaseColumnData
= new TmfBaseColumnData(fHeader
, fWidth
, fAlignment
, fToolTip
, fLabelProvider
, fComparator
, fPercentageProvider
);
108 // ------------------------------------------------------------------------
110 // ------------------------------------------------------------------------
116 public void testGetHeader() {
117 assertEquals("getHeader", 0, fBaseColumnData
.getHeader().compareTo(fHeader
));
121 * Test getting of column width.
124 public void testGetWidth() {
125 assertEquals("getWidth", fWidth
, fBaseColumnData
.getWidth());
129 * Test getting of alignment value
132 public void testGetAlignment() {
133 assertEquals("getAlignment", fAlignment
, fBaseColumnData
.getAlignment());
137 * Test getting of tooltip.
140 public void testGetTooltip() {
141 assertEquals("getTooltip", fToolTip
, fBaseColumnData
.getTooltip());
145 * Test getting of label provider
148 public void testGetLabelProvider() {
149 assertEquals("getLabelProvider", 0, fBaseColumnData
.getLabelProvider().getText(fTreeNode
).compareTo(fLabelProvider
.getText(fTreeNode
)));
150 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().getImage(fTreeNode
).equals(PlatformUI
.getWorkbench().getSharedImages().getImage(ISharedImages
.IMG_OBJ_ELEMENT
)));
151 assertTrue("getLabelProvider", fBaseColumnData
.getLabelProvider().equals(fLabelProvider
));
155 * Test getting of comparator.
158 public void testGetComparator() {
159 assertTrue("getComparator", fBaseColumnData
.getComparator().equals(fComparator
));
163 * Test getting of percentage provider.
166 public void testGetPercentageProvider() {
167 assertTrue("getPercentageProvider", fBaseColumnData
.getPercentageProvider().equals(fPercentageProvider
));