tmf.ui: fix callsite and model lookup regression
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / trace / text / TextTraceEventContentTest.java
CommitLineData
eadf9801
BH
1/*******************************************************************************
2 * Copyright (c) 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 * Bernd Hufmann - Initial API and implementation
11 *******************************************************************************/
2bdf0193 12package org.eclipse.tracecompass.tmf.core.tests.trace.text;
eadf9801
BH
13
14import static org.junit.Assert.assertArrayEquals;
15import static org.junit.Assert.assertEquals;
b742c196 16import static org.junit.Assert.assertNotEquals;
eadf9801
BH
17import static org.junit.Assert.assertNotNull;
18import static org.junit.Assert.assertNull;
19import static org.junit.Assert.assertTrue;
20
b742c196
AM
21import java.util.List;
22
2bdf0193
AM
23import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
24import org.eclipse.tracecompass.tmf.core.trace.text.TextTraceEventContent;
25import org.eclipse.tracecompass.tmf.tests.stubs.trace.text.SyslogEventType;
26import org.eclipse.tracecompass.tmf.tests.stubs.trace.text.SyslogEventType.Index;
eadf9801
BH
27import org.junit.Test;
28
29/**
30 * Test suite for the {@link TextTraceEventContent} class.
31 */
32@SuppressWarnings({ "javadoc", "nls" })
33public class TextTraceEventContentTest {
34
35 // ------------------------------------------------------------------------
36 // Members
37 // ------------------------------------------------------------------------
b742c196 38
eadf9801 39 private TextTraceEventContent fEventContent1;
b742c196 40 private TextTraceEventContent fEventContent1Clone;
eadf9801 41 private TextTraceEventContent fEventContent2;
b742c196 42 private TextTraceEventContent fEventContent2Clone;
eadf9801
BH
43
44 public TextTraceEventContentTest () {
45 fEventContent1 = new TextTraceEventContent(SyslogEventType.LABELS);
46 fEventContent1.setValue("CONTENT");
47 fEventContent1.setFieldValue(Index.TIMESTAMP, "Jan 1 01:01:01");
48 fEventContent1.setFieldValue(Index.HOST, "HostA");
49 fEventContent1.setFieldValue(Index.LOGGER, "LoggerA");
32528869
BH
50 fEventContent1.setFieldValue(Index.FILE, "SourceFileA");
51 fEventContent1.setFieldValue(Index.LINE, "0");
eadf9801
BH
52 fEventContent1.setFieldValue(Index.MESSAGE, "MessageA");
53
b742c196
AM
54 fEventContent1Clone = new TextTraceEventContent(SyslogEventType.LABELS);
55 fEventContent1Clone.setValue("CONTENT");
56 fEventContent1Clone.setFieldValue(Index.TIMESTAMP, "Jan 1 01:01:01");
57 fEventContent1Clone.setFieldValue(Index.HOST, "HostA");
58 fEventContent1Clone.setFieldValue(Index.LOGGER, "LoggerA");
32528869
BH
59 fEventContent1Clone.setFieldValue(Index.FILE, "SourceFileA");
60 fEventContent1Clone.setFieldValue(Index.LINE, "0");
b742c196
AM
61 fEventContent1Clone.setFieldValue(Index.MESSAGE, "MessageA");
62
eadf9801
BH
63 fEventContent2 = new TextTraceEventContent(SyslogEventType.LABELS);
64 fEventContent2.setFieldValue(SyslogEventType.LABELS[0], "Jan 1 02:02:02");
65 fEventContent2.setFieldValue(SyslogEventType.LABELS[1], "HostB");
66 fEventContent2.setFieldValue(SyslogEventType.LABELS[2], "LoggerB");
32528869
BH
67 fEventContent2.setFieldValue(SyslogEventType.LABELS[3], "SourceFileB");
68 fEventContent2.setFieldValue(SyslogEventType.LABELS[4], "2");
eadf9801
BH
69 StringBuffer buffer = new StringBuffer();
70 buffer.append("Message B");
32528869 71 fEventContent2.setFieldValue(SyslogEventType.LABELS[5], buffer);
b742c196
AM
72
73 fEventContent2Clone = new TextTraceEventContent(SyslogEventType.LABELS);
74 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[0], "Jan 1 02:02:02");
75 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[1], "HostB");
76 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[2], "LoggerB");
32528869
BH
77 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[3], "SourceFileB");
78 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[4], "2");
b742c196
AM
79 buffer = new StringBuffer();
80 buffer.append("Message B");
32528869 81 fEventContent2Clone.setFieldValue(SyslogEventType.LABELS[5], buffer);
eadf9801
BH
82 }
83
84 public void testConstructorConstructor() {
85 assertEquals("getField:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue(Index.TIMESTAMP));
86 assertEquals("getField:HOST", "HostA", fEventContent1.getFieldValue(Index.HOST));
87 assertEquals("getField:LOGGER", "LoggerA", fEventContent1.getFieldValue(Index.LOGGER));
32528869
BH
88 assertEquals("getField:FILE", "SourceFileA", fEventContent1.getFieldValue(Index.FILE));
89 assertEquals("getField:LINE", "0", fEventContent1.getFieldValue(Index.LINE));
eadf9801
BH
90 assertEquals("getField:MESSAGE", "MessageA", fEventContent1.getFieldValue(Index.MESSAGE).toString());
91 }
92
93 // ------------------------------------------------------------------------
94 // Event Type
95 // ------------------------------------------------------------------------
96
97 @Test
98 public void testEventTypeInstance() {
99 SyslogEventType eventType = SyslogEventType.INSTANCE;
100 assertEquals("getTypeId", "Syslog", eventType.getName());
101 assertNotNull ("instance", eventType);
b742c196
AM
102 assertTrue (eventType.getFieldNames().contains("Timestamp"));
103 assertTrue (eventType.getFieldNames().contains("Host"));
104 assertTrue (eventType.getFieldNames().contains("Logger"));
32528869
BH
105 assertTrue (eventType.getFieldNames().contains("File"));
106 assertTrue (eventType.getFieldNames().contains("Line"));
b742c196 107 assertTrue (eventType.getFieldNames().contains("Message"));
eadf9801
BH
108 }
109
110 // ------------------------------------------------------------------------
111 // equals
112 // ------------------------------------------------------------------------
113
114 @Test
b742c196
AM
115 public void testEquals() {
116 assertEquals("equals", fEventContent1, fEventContent1);
117 assertEquals("equals", fEventContent2, fEventContent2);
eadf9801 118
b742c196
AM
119 assertTrue("equals", !fEventContent1.equals(fEventContent2));
120 assertTrue("equals", !fEventContent2.equals(fEventContent1));
121
122 assertEquals("equals", fEventContent1, fEventContent1Clone);
123 assertEquals("equals", fEventContent2, fEventContent2Clone);
eadf9801
BH
124 }
125
126 @Test
127 public void testEqualsNull() {
128 assertTrue("equals", !fEventContent1.equals(null));
129 assertTrue("equals", !fEventContent2.equals(null));
130 }
131
132 // ------------------------------------------------------------------------
133 // hashCode
134 // ------------------------------------------------------------------------
b742c196 135
eadf9801
BH
136 @Test
137 public void testHashCode() {
eadf9801 138
b742c196
AM
139 assertEquals("hashCode", fEventContent1.hashCode(), fEventContent1Clone.hashCode());
140 assertEquals("hashCode", fEventContent2.hashCode(), fEventContent2Clone.hashCode());
eadf9801 141
b742c196
AM
142 assertNotEquals("hashCode", fEventContent1.hashCode(), fEventContent2.hashCode());
143 assertNotEquals("hashCode", fEventContent2.hashCode(), fEventContent1.hashCode());
eadf9801
BH
144 }
145
146 // ------------------------------------------------------------------------
147 // Event Content
148 // ------------------------------------------------------------------------
149
150 @Test
151 public void testGetFieldValueWithIndex() {
152 assertEquals("getFieldValue:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue(Index.TIMESTAMP));
153 assertEquals("getFieldValue:HOST", "HostA", fEventContent1.getFieldValue(Index.HOST));
154 assertEquals("getFieldValue:LOGGER", "LoggerA", fEventContent1.getFieldValue(Index.LOGGER));
32528869
BH
155 assertEquals("getFieldValue:FILE", "SourceFileA", fEventContent1.getFieldValue(Index.FILE));
156 assertEquals("getFieldValue:LINE", "0", fEventContent1.getFieldValue(Index.LINE));
eadf9801 157 assertEquals("getFieldValue:MESSAGE", "MessageA", fEventContent1.getFieldValue(Index.MESSAGE));
32528869 158 assertNull(fEventContent1.getFieldValue(6));
eadf9801
BH
159 }
160
161 @Test
162 public void testGetFieldValueWithName() {
163 assertEquals("getFieldValue:TIMESTAMP", "Jan 1 01:01:01", fEventContent1.getFieldValue("Timestamp"));
164 assertEquals("getFieldValue:HOST", "HostA", fEventContent1.getFieldValue("Host"));
165 assertEquals("getFieldValue:LOGGER", "LoggerA", fEventContent1.getFieldValue("Logger"));
32528869
BH
166 assertEquals("getFieldValue:FILE", "SourceFileA", fEventContent1.getFieldValue("File"));
167 assertEquals("getFieldValue:LINE", "0", fEventContent1.getFieldValue("Line"));
eadf9801
BH
168 assertEquals("getFieldValue:MESSAGE", "MessageA", fEventContent1.getFieldValue("Message"));
169 assertNull(fEventContent1.getFieldValue("BlaBla"));
170 }
171
172 @Test
173 public void testGetFieldNameWithIndex() {
174
175 assertEquals("getFieldName:TIMESTAMP", SyslogEventType.LABELS[0], fEventContent1.getFieldName(Index.TIMESTAMP));
176 assertEquals("getFieldName:HOST", SyslogEventType.LABELS[1], fEventContent1.getFieldName(Index.HOST));
177 assertEquals("getFieldName:LOGGER", SyslogEventType.LABELS[2], fEventContent1.getFieldName(Index.LOGGER));
32528869
BH
178 assertEquals("getFieldName:FILE", SyslogEventType.LABELS[3], fEventContent1.getFieldName(Index.FILE));
179 assertEquals("getFieldName:LINE", SyslogEventType.LABELS[4], fEventContent1.getFieldName(Index.LINE));
180 assertEquals("getFieldName:MESSAGE", SyslogEventType.LABELS[5], fEventContent1.getFieldName(Index.MESSAGE));
181 assertNull(fEventContent1.getFieldValue(6));
eadf9801
BH
182 }
183
184 @Test
185 public void testGetFields() {
b742c196 186 List<TextTraceEventContent> fields = fEventContent1.getFields();
32528869 187 assertEquals(6, fields.size());
b742c196
AM
188 assertEquals("getFields:TIMESTAMP", SyslogEventType.LABELS[0], fields.get(Index.TIMESTAMP).getName());
189 assertEquals("getFields:TIMESTAMP", "Jan 1 01:01:01", fields.get(Index.TIMESTAMP).getValue());
190 assertEquals("getFields:HOST", SyslogEventType.LABELS[1], fields.get(Index.HOST).getName());
191 assertEquals("getFields:HOST", "HostA", fields.get(Index.HOST).getValue());
192 assertEquals("getFields:LOGGER", SyslogEventType.LABELS[2], fields.get(Index.LOGGER).getName());
193 assertEquals("getFields:LOGGER", "LoggerA", fields.get(Index.LOGGER).getValue());
32528869
BH
194 assertEquals("getFields:FILE", SyslogEventType.LABELS[3], fields.get(Index.FILE).getName());
195 assertEquals("getFields:FILE", "SourceFileA", fields.get(Index.FILE).getValue());
196 assertEquals("getFields:LINE", SyslogEventType.LABELS[4], fields.get(Index.LINE).getName());
197 assertEquals("getFields:LINE", "0", fields.get(Index.LINE).getValue());
198 assertEquals("getFields:MESSAGE", SyslogEventType.LABELS[5], fields.get(Index.MESSAGE).getName());
b742c196 199 assertEquals("getFields:MESSAGE", "MessageA", fields.get(Index.MESSAGE).getValue());
eadf9801
BH
200 }
201
202 @Test
203 public void testGetFieldWithName() {
204 ITmfEventField field = fEventContent1.getField("Timestamp");
205 assertEquals("getFieldName:TIMESTAMP", SyslogEventType.LABELS[0], field.getName());
206 assertEquals("getFieldName:TIMESTAMP", "Jan 1 01:01:01", field.getValue());
207
208 field = fEventContent1.getField(SyslogEventType.LABELS[1]);
209 assertEquals("getFieldName:HOST", SyslogEventType.LABELS[1], field.getName());
210 assertEquals("getFieldName:HOST", "HostA", field.getValue());
211
212 field = fEventContent1.getField(SyslogEventType.LABELS[2]);
213 assertEquals("getFieldName:LOGGER", SyslogEventType.LABELS[2], field.getName());
214 assertEquals("getFieldName:LOGGER", "LoggerA", field.getValue());
215
216 field = fEventContent1.getField(SyslogEventType.LABELS[3]);
32528869
BH
217 assertEquals("getFieldName:FILE", SyslogEventType.LABELS[3], field.getName());
218 assertEquals("getFieldName:FILE", "SourceFileA", field.getValue());
219
220 field = fEventContent1.getField(SyslogEventType.LABELS[4]);
221 assertEquals("getFieldName:LINE", SyslogEventType.LABELS[4], field.getName());
222 assertEquals("getFieldName:LINE", "0", field.getValue());
223
224 field = fEventContent1.getField(SyslogEventType.LABELS[5]);
225 assertEquals("getFieldName:Message", SyslogEventType.LABELS[5], field.getName());
eadf9801
BH
226 assertEquals("getgetFieldName:Message", "MessageA", field.getValue());
227
228 field = fEventContent1.getField("BlaBla");
229 assertNull(field);
230 }
231
eadf9801
BH
232 @Test
233 public void testGetFormattedValue() {
234 assertEquals("CONTENT", fEventContent1.getFormattedValue());
235 }
236
237 @Test
238 public void testToString() {
32528869 239 assertEquals("Timestamp=Jan 1 01:01:01, Host=HostA, Logger=LoggerA, File=SourceFileA, Line=0, Message=MessageA", fEventContent1.toString());
eadf9801
BH
240 }
241
242 @Test
243 public void testGetSubField() {
244 String[] names = { "Timestamp"};
245
246 ITmfEventField field = fEventContent1.getSubField(names);
247 assertEquals("getSubField:TIMESTAMP", SyslogEventType.LABELS[0], field.getName());
248 assertEquals("getSubField:TIMESTAMP", "Jan 1 01:01:01", field.getValue());
249
250 String[] names2 = { "Timestamp", "subField" };
251 field = fEventContent1.getSubField(names2);
252 assertNull(field);
253 }
254
255 @Test
256 public void testGetFieldNames() {
32528869 257 String[] labels = {"Timestamp", "Host", "Logger", "File", "Line", "Message"};
b742c196
AM
258 List<String> names = fEventContent1.getFieldNames();
259 assertArrayEquals(labels, names.toArray(new String[names.size()]));
eadf9801
BH
260 }
261
262}
This page took 0.052199 seconds and 5 git commands to generate.