tmf: formatting of tmf.ui.statistics
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / src / org / eclipse / linuxtools / tmf / ui / tests / statistics / TmfBaseColumnDataProviderTest.java
CommitLineData
79e08fd0
BH
1/*******************************************************************************
2 * Copyright (c) 2011 Ericsson
abbdd66a 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
abbdd66a 8 *
79e08fd0 9 * Contributors:
09667aa4 10 * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
79e08fd0
BH
11 * Bernd Hufmann - Fixed header and warnings
12 *******************************************************************************/
13package org.eclipse.linuxtools.tmf.ui.tests.statistics;
14
9fa32496 15import java.util.List;
79e08fd0
BH
16
17import junit.framework.TestCase;
18
19import org.eclipse.jface.viewers.ColumnLabelProvider;
20import org.eclipse.jface.viewers.ViewerComparator;
4c564a2d 21import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
6c13869b 22import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
4c564a2d 23import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
6c13869b
FC
24import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
25import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
26import org.eclipse.linuxtools.tmf.core.util.TmfFixedArray;
79e08fd0
BH
27import org.eclipse.linuxtools.tmf.ui.views.statistics.ITmfExtraEventInfo;
28import org.eclipse.linuxtools.tmf.ui.views.statistics.model.Messages;
29import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseColumnData;
30import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
31import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseColumnDataProvider;
32import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseStatisticsTree;
33import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsTreeNode;
64636df8
BH
34
35/**
36 * TmfBaseColumnDataProvider test cases.
37 */
79e08fd0
BH
38@SuppressWarnings("nls")
39public class TmfBaseColumnDataProviderTest extends TestCase {
40
41 // ------------------------------------------------------------------------
42 // Fields
43 // ------------------------------------------------------------------------
44 private final static String LEVEL_COLUMN = org.eclipse.linuxtools.tmf.ui.views.statistics.Messages.TmfStatisticsView_LevelColumn;
45 private final static String EVENTS_COUNT_COLUMN = org.eclipse.linuxtools.tmf.ui.views.statistics.Messages.TmfStatisticsView_NbEventsColumn;
abbdd66a 46
79e08fd0
BH
47 private TmfBaseColumnDataProvider provider;
48
49 private String fTestName;
50
cbbcc354 51 private final String fContext = "UnitTest";
abbdd66a 52
79e08fd0
BH
53 private final String fTypeId1 = "Some type1";
54 private final String fTypeId2 = "Some type2";
55
56 private final String fLabel0 = "label1";
57 private final String fLabel1 = "label2";
58 private final String fLabel2 = "label3";
59 private final String[] fLabels = new String[] { fLabel0, fLabel1, fLabel2 };
60
61 private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5);
62 private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5);
63 private final TmfTimestamp fTimestamp3 = new TmfTimestamp(12355, (byte) 2, 5);
64
09667aa4 65 private final String fSource = "Source";
79e08fd0 66
4c564a2d
FC
67 private final TmfEventType fType1 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
68 private final TmfEventType fType2 = new TmfEventType(fContext, fTypeId1, TmfEventField.makeRoot(fLabels));
69 private final TmfEventType fType3 = new TmfEventType(fContext, fTypeId2, TmfEventField.makeRoot(fLabels));
79e08fd0 70
4641c2f7 71 private final String fReference = "Some reference";
79e08fd0
BH
72
73 private final TmfEvent fEvent1;
74 private final TmfEvent fEvent2;
75 private final TmfEvent fEvent3;
76
4c564a2d
FC
77 private final TmfEventField fContent1;
78 private final TmfEventField fContent2;
79 private final TmfEventField fContent3;
79e08fd0
BH
80
81 private final TmfBaseStatisticsTree fStatsData;
82
83 private final ITmfExtraEventInfo fExtraInfo;
84
85 // ------------------------------------------------------------------------
86 // Housekeeping
87 // ------------------------------------------------------------------------
88
64636df8
BH
89 /**
90 * Constructor
91 * @param name trace name to set
92 */
79e08fd0
BH
93 public TmfBaseColumnDataProviderTest(final String name) {
94 super(name);
95
96 fTestName = name;
97
a4115405 98 fContent1 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some content");
7b477cc3 99 fEvent1 = new TmfEvent(null, fTimestamp1, fSource, fType1, fContent1, fReference);
79e08fd0 100
a4115405 101 fContent2 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other content");
7b477cc3 102 fEvent2 = new TmfEvent(null, fTimestamp2, fSource, fType2, fContent2, fReference);
79e08fd0 103
a4115405 104 fContent3 = new TmfEventField(ITmfEventField.ROOT_FIELD_ID, "Some other different content");
7b477cc3 105 fEvent3 = new TmfEvent(null, fTimestamp3, fSource, fType3, fContent3, fReference);
79e08fd0
BH
106
107 fStatsData = new TmfBaseStatisticsTree();
108 fExtraInfo = new ITmfExtraEventInfo() {
109 @Override
110 public String getTraceName() {
111 return name;
112 }
113 };
114 fStatsData.getOrCreate(new TmfFixedArray<String>(fTestName, Messages.TmfStatisticsData_EventTypes));
115 fStatsData.registerEvent(fEvent1, fExtraInfo);
116 fStatsData.registerEvent(fEvent2, fExtraInfo);
117 fStatsData.registerEvent(fEvent3, fExtraInfo);
118
119 provider = new TmfBaseColumnDataProvider();
120 }
121
122 // ------------------------------------------------------------------------
123 // Get Column Data
124 // ------------------------------------------------------------------------
64636df8
BH
125 /**
126 * Method with test cases.
127 */
79e08fd0 128 public void testGetColumnData() {
9fa32496 129 List<TmfBaseColumnData> columnsData = provider.getColumnData();
79e08fd0
BH
130 assertNotNull("getColumnData", columnsData);
131 assertEquals("getColumnData", 2, columnsData.size());
132
133 TmfStatisticsTreeNode parentNode = fStatsData.get(new TmfFixedArray<String>(fTestName));
134 TmfStatisticsTreeNode treeNode1 = fStatsData.get(new TmfFixedArray<String>(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent1.getType().toString()));
135 TmfStatisticsTreeNode treeNode2 = fStatsData.get(new TmfFixedArray<String>(fTestName, Messages.TmfStatisticsData_EventTypes, fEvent3.getType().toString()));
136 ViewerComparator vComp = null;
137 for (TmfBaseColumnData columnData : columnsData) {
138 assertNotNull("getColumnData", columnData);
139 assertNotNull("getColumnData", columnData.getHeader());
140 assertNotNull("getColumnData", columnData.getTooltip());
abbdd66a 141
79e08fd0
BH
142 // Testing labelProvider
143 ColumnLabelProvider labelProvider = columnData.getLabelProvider();
144 if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
145 assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(treeNode1.getKey()));
146 } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
147 assertEquals("getColumnData", 0, labelProvider.getText(treeNode1).compareTo(Long.toString(2)));
148 }
149
150 // Testing comparator
151 vComp = columnData.getComparator();
152 if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
153 assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) < 0);
154 assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) > 0);
155 assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0);
156 } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
157 assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode2) > 0);
158 assertTrue("getColumnData", vComp.compare(null, treeNode2, treeNode1) < 0);
159 assertTrue("getColumnData", vComp.compare(null, treeNode1, treeNode1) == 0);
160 }
161
162 // Testing percentage provider
163 ITmfColumnPercentageProvider percentProvider = columnData.getPercentageProvider();
164 if (columnData.getHeader().compareTo(LEVEL_COLUMN) == 0) {
165 assertNull("getColumnData", percentProvider);
166 } else if (columnData.getHeader().compareTo(EVENTS_COUNT_COLUMN) == 0) {
167 double percentage = (double) treeNode1.getValue().nbEvents / parentNode.getValue().nbEvents;
abbdd66a 168 assertEquals("getColumnData", percentage, percentProvider.getPercentage(treeNode1));
79e08fd0
BH
169 }
170 }
171 }
09667aa4 172}
This page took 0.036131 seconds and 5 git commands to generate.