Re-structure LTTng sub-project as per the Linux Tools guidelines
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / event / TmfEventContentTest.java
1 /*******************************************************************************
2 * Copyright (c) 2009 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 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.tmf.core.tests.event;
14
15 import junit.framework.TestCase;
16
17 import org.eclipse.linuxtools.tmf.core.event.TmfEvent;
18 import org.eclipse.linuxtools.tmf.core.event.TmfEventContent;
19 import org.eclipse.linuxtools.tmf.core.event.TmfEventReference;
20 import org.eclipse.linuxtools.tmf.core.event.TmfEventSource;
21 import org.eclipse.linuxtools.tmf.core.event.TmfEventType;
22 import org.eclipse.linuxtools.tmf.core.event.TmfNoSuchFieldException;
23 import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
24 import org.eclipse.linuxtools.tmf.stubs.event.TmfEventContentStub;
25 import org.eclipse.linuxtools.tmf.stubs.event.TmfEventTypeStub;
26
27 /**
28 * <b><u>TmfEventContentTest</u></b>
29 * <p>
30 * Test suite for the TmfEventContent class.
31 */
32 @SuppressWarnings("nls")
33 public class TmfEventContentTest extends TestCase {
34
35 // ------------------------------------------------------------------------
36 // Variables
37 // ------------------------------------------------------------------------
38
39 private final TmfTimestamp fTimestamp;
40 private final TmfEventSource fEventSource;
41 private final TmfEventType fEventType;
42 private final TmfEventTypeStub fEventTypeStub;
43 private final TmfEventReference fReference;
44 private final TmfEvent fEvent;
45 private final TmfEvent fEventStub;
46
47 private final Object fRawContent0 = new String("Some content");
48 private final Object fRawContent1 = new String("Some other content");
49
50 private final TmfEventContent fBasicContent0;
51 private final TmfEventContent fBasicContent1;
52 private final TmfEventContent fBasicContent2;
53 private final TmfEventContentStub fStubContent;
54
55 // ------------------------------------------------------------------------
56 // Housekeeping
57 // ------------------------------------------------------------------------
58
59 /**
60 * @param name the test name
61 */
62 public TmfEventContentTest(String name) {
63 super(name);
64 fTimestamp = new TmfTimestamp();
65 fEventSource = new TmfEventSource(new Object());
66 fEventType = new TmfEventType();
67 fEventTypeStub = new TmfEventTypeStub();
68 fReference = new TmfEventReference();
69
70 fEvent = new TmfEvent(fTimestamp, fEventSource, fEventType, fReference);
71 fBasicContent0 = new TmfEventContent(fEvent, fRawContent0);
72 fBasicContent1 = new TmfEventContent(fEvent, fRawContent0);
73 fBasicContent2 = new TmfEventContent(fEvent, fRawContent0);
74
75 fEventStub = new TmfEvent(fTimestamp, fEventSource, fEventTypeStub, fReference);
76 fStubContent = new TmfEventContentStub(fEventStub, fRawContent1);
77 }
78
79 @Override
80 protected void setUp() throws Exception {
81 super.setUp();
82 }
83
84 @Override
85 protected void tearDown() throws Exception {
86 super.tearDown();
87 }
88
89 // ------------------------------------------------------------------------
90 // Constructors
91 // ------------------------------------------------------------------------
92
93 public void testTmfEventContent() {
94 assertSame("getLabels", fEvent, fBasicContent0.getEvent());
95 assertEquals("getType", fEventType, fBasicContent0.getType());
96 assertEquals("getContent", fRawContent0, fBasicContent0.getContent());
97 }
98
99 public void testTmfEventContentCopy() {
100 TmfEventContent content = new TmfEventContent(fBasicContent0);
101 assertSame("getLabels", fEvent, content.getEvent());
102 assertEquals("getType", fEventType, content.getType());
103 assertEquals("getContent", fRawContent0, content.getContent());
104 }
105
106 public void testTmfEventContentCopy2() {
107 try {
108 new TmfEventContent(null);
109 fail("null copy");
110 }
111 catch (IllegalArgumentException e) {
112 // Success
113 }
114 }
115
116 // ------------------------------------------------------------------------
117 // setEvent
118 // ------------------------------------------------------------------------
119
120 public void testSetEvent() {
121 TmfEvent event = new TmfEvent(fTimestamp, fEventSource, fEventType, fReference);
122 TmfEventContent content1 = new TmfEventContent(event, fRawContent0);
123 event.setContent(content1);
124 TmfEventContent content2 = new TmfEventContent(null, fRawContent1);
125
126 content2.setEvent(event);
127
128 assertEquals("setEvent", event, content2.getEvent());
129 // assertEquals("setEvent", content2, event.getContent());
130 // assertEquals("setEvent", null, content1.getEvent());
131 }
132
133 // ------------------------------------------------------------------------
134 // equals
135 // ------------------------------------------------------------------------
136
137 public void testEqualsReflexivity() throws Exception {
138 @SuppressWarnings("unused")
139 Object[] fields1 = fBasicContent0.getFields();
140 @SuppressWarnings("unused")
141 Object[] fields2 = fStubContent.getFields();
142
143 assertTrue("equals", fBasicContent0.equals(fBasicContent0));
144 assertTrue("equals", fStubContent.equals(fStubContent));
145
146 assertTrue("equals", !fBasicContent0.equals(fStubContent));
147 assertTrue("equals", !fStubContent.equals(fBasicContent0));
148 }
149
150 public void testEqualsSymmetry() throws Exception {
151 assertTrue("equals", fBasicContent0.equals(fBasicContent2));
152 assertTrue("equals", fBasicContent2.equals(fBasicContent0));
153
154 assertTrue("equals", !fBasicContent0.equals(fStubContent));
155 assertTrue("equals", !fStubContent.equals(fBasicContent0));
156 }
157
158 public void testEqualsTransivity() throws Exception {
159 assertTrue("equals", fBasicContent0.equals(fBasicContent1));
160 assertTrue("equals", fBasicContent1.equals(fBasicContent2));
161 assertTrue("equals", fBasicContent0.equals(fBasicContent2));
162 }
163
164 public void testEqualsNull() throws Exception {
165 assertTrue("equals", !fBasicContent0.equals(null));
166 assertTrue("equals", !fStubContent.equals(null));
167 }
168
169 // ------------------------------------------------------------------------
170 // hashCode
171 // ------------------------------------------------------------------------
172
173 public void testHashCode() throws Exception {
174 assertTrue("hashCode", fBasicContent0.hashCode() == fBasicContent2.hashCode());
175 assertTrue("hashCode", fBasicContent0.hashCode() != fStubContent.hashCode());
176 }
177
178 public void testHashCode2() throws Exception {
179 TmfEventContent basicContent0 = new TmfEventContent(null, fRawContent0);
180 TmfEventContent basicContent1 = new TmfEventContent(fEvent, null);
181 TmfEventContent basicContent2 = new TmfEventContent(null, null);
182
183 assertTrue("hashCode", fBasicContent0.hashCode() != basicContent0.hashCode());
184 assertTrue("hashCode", fBasicContent0.hashCode() != basicContent1.hashCode());
185 assertTrue("hashCode", fBasicContent0.hashCode() != basicContent2.hashCode());
186
187 assertTrue("hashCode", basicContent0.hashCode() != basicContent1.hashCode());
188 assertTrue("hashCode", basicContent0.hashCode() != basicContent2.hashCode());
189
190 assertTrue("hashCode", basicContent1.hashCode() != basicContent2.hashCode());
191 }
192
193 // ------------------------------------------------------------------------
194 // toString
195 // ------------------------------------------------------------------------
196
197 public void testToString() {
198 String expected = "[TmfEventContent(" + fRawContent0 + ")]";
199 TmfEventContent content = new TmfEventContent(fEvent, fRawContent0);
200 assertEquals("toString", expected, content.toString());
201 }
202
203 public void testToString2() {
204 String expected = "[TmfEventContent(1,-10,true,some string,[TmfTimestamp(1,2,3)])]";
205 TmfEventContentStub content = new TmfEventContentStub(fEvent, fRawContent0);
206 assertEquals("toString", expected, content.toString());
207 }
208
209 // ------------------------------------------------------------------------
210 // Basic content parsing
211 // ------------------------------------------------------------------------
212
213 public void testGetFields() {
214 Object[] fields = fBasicContent0.getFields();
215 assertEquals("getFields", 1, fields.length);
216 assertEquals("getFields", fRawContent0, fields[0].toString());
217 }
218
219 public void testGetFieldFromId() {
220 Object field;
221 try {
222 field = fBasicContent0.getField("Content");
223 assertEquals("getField", fRawContent0, field.toString());
224 } catch (TmfNoSuchFieldException e) {
225 fail("Field not found");
226 }
227 }
228
229 public void testGetFieldFromIdFailed() {
230 try {
231 fBasicContent0.getField("Dummy");
232 fail("Found an inexisting field...");
233 } catch (TmfNoSuchFieldException e) {
234 // Success
235 }
236 }
237
238 public void testGetFieldFromPos() {
239 Object field = fBasicContent0.getField(0);
240 assertEquals("getField", fRawContent0, field.toString());
241 }
242
243 public void testGetFieldFromPosFailed() {
244 Object field = fBasicContent0.getField(10);
245 assertEquals("getField", null, field);
246 }
247
248 // ------------------------------------------------------------------------
249 // Standard content parsing
250 // ------------------------------------------------------------------------
251
252 public void testGetFields2() {
253 Object[] fields = fStubContent.getFields();
254 assertEquals("getFields", 5, fields.length);
255 }
256
257 public void testGetFieldFromId2() {
258 Object field;
259 try {
260 field = fStubContent.getField("Field1");
261 assertEquals("getField", new Integer(1), field);
262
263 field = fStubContent.getField("Field2");
264 assertEquals("getField", new Integer(-10), field);
265
266 field = fStubContent.getField("Field3");
267 assertEquals("getField", new Boolean(true), field);
268
269 field = fStubContent.getField("Field4");
270 assertEquals("getField", new String("some string"), field);
271
272 field = fStubContent.getField("Field5");
273 assertEquals("getField", new TmfTimestamp(1, (byte) 2, 3), field);
274
275 } catch (TmfNoSuchFieldException e) {
276 fail("Field not found");
277 }
278 }
279
280 public void testGetFieldFromPos2() {
281 TmfEventContentStub content = new TmfEventContentStub(fEvent, fRawContent0);
282
283 Object field;
284 field = content.getField(0);
285 assertEquals("getField", new Integer(1), field);
286
287 field = content.getField(1);
288 assertEquals("getField", new Integer(-10), field);
289
290 field = content.getField(2);
291 assertEquals("getField", new Boolean(true), field);
292
293 field = content.getField(3);
294 assertEquals("getField", new String("some string"), field);
295
296 field = content.getField(4);
297 assertEquals("getField", new TmfTimestamp(1, (byte) 2, 3), field);
298 }
299
300 }
This page took 0.048186 seconds and 5 git commands to generate.