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