1 /*******************************************************************************
2 * Copyright (c) 2009 Ericsson
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
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.tests
.event
;
15 import junit
.framework
.TestCase
;
17 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEvent
;
18 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventContent
;
19 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventContentStub
;
20 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventReference
;
21 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventSource
;
22 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventType
;
23 import org
.eclipse
.linuxtools
.tmf
.event
.TmfEventTypeStub
;
24 import org
.eclipse
.linuxtools
.tmf
.event
.TmfNoSuchFieldException
;
25 import org
.eclipse
.linuxtools
.tmf
.event
.TmfTimestamp
;
28 * <b><u>TmfEventContentTest</u></b>
30 * Test suite for the TmfEventContent class.
32 @SuppressWarnings("nls")
33 public class TmfEventContentTest
extends TestCase
{
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
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
;
47 private final Object fRawContent0
= new String("Some content");
48 private final Object fRawContent1
= new String("Some other content");
50 private final TmfEventContent fBasicContent0
;
51 private final TmfEventContent fBasicContent1
;
52 private final TmfEventContent fBasicContent2
;
53 private final TmfEventContentStub fStubContent
;
55 // ------------------------------------------------------------------------
57 // ------------------------------------------------------------------------
60 * @param name the test name
62 public TmfEventContentTest(String name
) {
64 fTimestamp
= new TmfTimestamp();
65 fEventSource
= new TmfEventSource(new Object());
66 fEventType
= new TmfEventType();
67 fEventTypeStub
= new TmfEventTypeStub();
68 fReference
= new TmfEventReference();
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
);
75 fEventStub
= new TmfEvent(fTimestamp
, fEventSource
, fEventTypeStub
, fReference
);
76 fStubContent
= new TmfEventContentStub(fEventStub
, fRawContent1
);
80 protected void setUp() throws Exception
{
85 protected void tearDown() throws Exception
{
89 // ------------------------------------------------------------------------
91 // ------------------------------------------------------------------------
93 public void testTmfEventContent() {
94 assertSame("getLabels", fEvent
, fBasicContent0
.getEvent());
95 assertEquals("getType", fEventType
, fBasicContent0
.getType());
96 assertEquals("getContent", fRawContent0
, fBasicContent0
.getContent());
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());
106 public void testTmfEventContentCopy2() {
108 new TmfEventContent(null);
111 catch (IllegalArgumentException e
) {
116 // ------------------------------------------------------------------------
118 // ------------------------------------------------------------------------
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
);
126 content2
.setEvent(event
);
128 assertEquals("setEvent", event
, content2
.getEvent());
129 // assertEquals("setEvent", content2, event.getContent());
130 // assertEquals("setEvent", null, content1.getEvent());
133 // ------------------------------------------------------------------------
135 // ------------------------------------------------------------------------
137 public void testEqualsReflexivity() throws Exception
{
138 @SuppressWarnings("unused")
139 Object
[] fields1
= fBasicContent0
.getFields();
140 @SuppressWarnings("unused")
141 Object
[] fields2
= fStubContent
.getFields();
143 assertTrue("equals", fBasicContent0
.equals(fBasicContent0
));
144 assertTrue("equals", fStubContent
.equals(fStubContent
));
146 assertTrue("equals", !fBasicContent0
.equals(fStubContent
));
147 assertTrue("equals", !fStubContent
.equals(fBasicContent0
));
150 public void testEqualsSymmetry() throws Exception
{
151 assertTrue("equals", fBasicContent0
.equals(fBasicContent2
));
152 assertTrue("equals", fBasicContent2
.equals(fBasicContent0
));
154 assertTrue("equals", !fBasicContent0
.equals(fStubContent
));
155 assertTrue("equals", !fStubContent
.equals(fBasicContent0
));
158 public void testEqualsTransivity() throws Exception
{
159 assertTrue("equals", fBasicContent0
.equals(fBasicContent1
));
160 assertTrue("equals", fBasicContent1
.equals(fBasicContent2
));
161 assertTrue("equals", fBasicContent0
.equals(fBasicContent2
));
164 public void testEqualsNull() throws Exception
{
165 assertTrue("equals", !fBasicContent0
.equals(null));
166 assertTrue("equals", !fStubContent
.equals(null));
169 // ------------------------------------------------------------------------
171 // ------------------------------------------------------------------------
173 public void testHashCode() throws Exception
{
174 assertTrue("hashCode", fBasicContent0
.hashCode() == fBasicContent2
.hashCode());
175 assertTrue("hashCode", fBasicContent0
.hashCode() != fStubContent
.hashCode());
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);
183 assertTrue("hashCode", fBasicContent0
.hashCode() != basicContent0
.hashCode());
184 assertTrue("hashCode", fBasicContent0
.hashCode() != basicContent1
.hashCode());
185 assertTrue("hashCode", fBasicContent0
.hashCode() != basicContent2
.hashCode());
187 assertTrue("hashCode", basicContent0
.hashCode() != basicContent1
.hashCode());
188 assertTrue("hashCode", basicContent0
.hashCode() != basicContent2
.hashCode());
190 assertTrue("hashCode", basicContent1
.hashCode() != basicContent2
.hashCode());
193 // ------------------------------------------------------------------------
195 // ------------------------------------------------------------------------
197 public void testToString() {
198 String expected
= "[TmfEventContent(" + fRawContent0
+ ")]";
199 TmfEventContent content
= new TmfEventContent(fEvent
, fRawContent0
);
200 assertEquals("toString", expected
, content
.toString());
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());
209 // ------------------------------------------------------------------------
210 // Basic content parsing
211 // ------------------------------------------------------------------------
213 public void testGetFields() {
214 Object
[] fields
= fBasicContent0
.getFields();
215 assertEquals("getFields", 1, fields
.length
);
216 assertEquals("getFields", fRawContent0
, fields
[0].toString());
219 public void testGetFieldFromId() {
222 field
= fBasicContent0
.getField("Content");
223 assertEquals("getField", fRawContent0
, field
.toString());
224 } catch (TmfNoSuchFieldException e
) {
225 fail("Field not found");
229 public void testGetFieldFromIdFailed() {
231 fBasicContent0
.getField("Dummy");
232 fail("Found an inexisting field...");
233 } catch (TmfNoSuchFieldException e
) {
238 public void testGetFieldFromPos() {
239 Object field
= fBasicContent0
.getField(0);
240 assertEquals("getField", fRawContent0
, field
.toString());
243 public void testGetFieldFromPosFailed() {
244 Object field
= fBasicContent0
.getField(10);
245 assertEquals("getField", null, field
);
248 // ------------------------------------------------------------------------
249 // Standard content parsing
250 // ------------------------------------------------------------------------
252 public void testGetFields2() {
253 Object
[] fields
= fStubContent
.getFields();
254 assertEquals("getFields", 5, fields
.length
);
257 public void testGetFieldFromId2() {
260 field
= fStubContent
.getField("Field1");
261 assertEquals("getField", new Integer(1), field
);
263 field
= fStubContent
.getField("Field2");
264 assertEquals("getField", new Integer(-10), field
);
266 field
= fStubContent
.getField("Field3");
267 assertEquals("getField", new Boolean(true), field
);
269 field
= fStubContent
.getField("Field4");
270 assertEquals("getField", new String("some string"), field
);
272 field
= fStubContent
.getField("Field5");
273 assertEquals("getField", new TmfTimestamp(1, (byte) 2, 3), field
);
275 } catch (TmfNoSuchFieldException e
) {
276 fail("Field not found");
280 public void testGetFieldFromPos2() {
281 TmfEventContentStub content
= new TmfEventContentStub(fEvent
, fRawContent0
);
284 field
= content
.getField(0);
285 assertEquals("getField", new Integer(1), field
);
287 field
= content
.getField(1);
288 assertEquals("getField", new Integer(-10), field
);
290 field
= content
.getField(2);
291 assertEquals("getField", new Boolean(true), field
);
293 field
= content
.getField(3);
294 assertEquals("getField", new String("some string"), field
);
296 field
= content
.getField(4);
297 assertEquals("getField", new TmfTimestamp(1, (byte) 2, 3), field
);