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