Copyright header update, 2015 edition
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui.tests / src / org / eclipse / tracecompass / tmf / ui / tests / statistics / TmfBaseColumnDataTest.java
1 /*******************************************************************************
2 * Copyright (c) 2011, 2014 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
11 * Alexandre Montplaisir - Port to JUnit4
12 *******************************************************************************/
13
14 package org.eclipse.tracecompass.tmf.ui.tests.statistics;
15
16 import static org.junit.Assert.assertEquals;
17 import static org.junit.Assert.assertTrue;
18
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.swt.SWT;
23 import org.eclipse.swt.graphics.Image;
24 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
25 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfStatisticsTree;
26 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode;
27 import org.eclipse.tracecompass.tmf.ui.viewers.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
28 import org.eclipse.ui.ISharedImages;
29 import org.eclipse.ui.PlatformUI;
30 import org.junit.Before;
31 import org.junit.Test;
32
33 /**
34 * TmfBaseColumnData Test Case.
35 */
36 public class TmfBaseColumnDataTest {
37
38 // ------------------------------------------------------------------------
39 // Fields
40 // ------------------------------------------------------------------------
41
42 private int fAlignment;
43 private int fWidth;
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;
52
53 // ------------------------------------------------------------------------
54 // Housekeeping
55 // ------------------------------------------------------------------------
56
57 /**
58 * Pre-test setup
59 */
60 @Before
61 public void init() {
62 fHeader = "test Column1";
63 fWidth = 300;
64 fAlignment = SWT.LEFT;
65 fToolTip = "Tooltip " + fHeader;
66 fLabelProvider = new ColumnLabelProvider() {
67 @Override
68 public String getText(Object element) {
69 return ((TmfStatisticsTreeNode) element).getName();
70 }
71
72 @Override
73 public Image getImage(Object element) {
74 return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
75 }
76 };
77 fComparator = new ViewerComparator() {
78 @Override
79 public int compare(Viewer viewer, Object e1, Object e2) {
80 TmfStatisticsTreeNode n1 = (TmfStatisticsTreeNode) e1;
81 TmfStatisticsTreeNode n2 = (TmfStatisticsTreeNode) e2;
82
83 return n1.getName().compareTo(n2.getName());
84 }
85 };
86 fPercentageProvider = new ITmfColumnPercentageProvider() {
87 @Override
88 public double getPercentage(TmfStatisticsTreeNode node) {
89 TmfStatisticsTreeNode parent = node;
90 do {
91 parent = parent.getParent();
92 } while (parent != null && parent.getValues().getTotal() == 0);
93
94 if (parent == null) {
95 return 0;
96 }
97 return (double) node.getValues().getTotal() / parent.getValues().getTotal();
98 }
99 };
100
101 TmfStatisticsTree baseData = new TmfStatisticsTree();
102 fTraceName = "trace1";
103 fTreeNode = new TmfStatisticsTreeNode(baseData, baseData.getRootNode(), fTraceName);
104
105 fBaseColumnData = new TmfBaseColumnData(fHeader, fWidth, fAlignment, fToolTip, fLabelProvider, fComparator, fPercentageProvider);
106 }
107
108 // ------------------------------------------------------------------------
109 // Test methods
110 // ------------------------------------------------------------------------
111
112 /**
113 * Test get header
114 */
115 @Test
116 public void testGetHeader() {
117 assertEquals("getHeader", 0, fBaseColumnData.getHeader().compareTo(fHeader));
118 }
119
120 /**
121 * Test getting of column width.
122 */
123 @Test
124 public void testGetWidth() {
125 assertEquals("getWidth", fWidth, fBaseColumnData.getWidth());
126 }
127
128 /**
129 * Test getting of alignment value
130 */
131 @Test
132 public void testGetAlignment() {
133 assertEquals("getAlignment", fAlignment, fBaseColumnData.getAlignment());
134 }
135
136 /**
137 * Test getting of tooltip.
138 */
139 @Test
140 public void testGetTooltip() {
141 assertEquals("getTooltip", fToolTip, fBaseColumnData.getTooltip());
142 }
143
144 /**
145 * Test getting of label provider
146 */
147 @Test
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));
152 }
153
154 /**
155 * Test getting of comparator.
156 */
157 @Test
158 public void testGetComparator() {
159 assertTrue("getComparator", fBaseColumnData.getComparator().equals(fComparator));
160 }
161
162 /**
163 * Test getting of percentage provider.
164 */
165 @Test
166 public void testGetPercentageProvider() {
167 assertTrue("getPercentageProvider", fBaseColumnData.getPercentageProvider().equals(fPercentageProvider));
168 }
169 }
This page took 0.055017 seconds and 6 git commands to generate.