tmf: Disable NLS warnings in tests
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core.tests / src / org / eclipse / linuxtools / tmf / core / tests / event / TmfEventFieldTest.java
CommitLineData
d18dd09b 1/*******************************************************************************
61759503 2 * Copyright (c) 2009, 2013 Ericsson
54a7a54c 3 *
d18dd09b
ASL
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
54a7a54c 8 *
d18dd09b
ASL
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
75d42a16 11 * Francois Chouinard - Adjusted for new Event Model
6e1886bc 12 * Alexandre Montplaisir - Port to JUnit4
d18dd09b
ASL
13 *******************************************************************************/
14
6c13869b 15package org.eclipse.linuxtools.tmf.core.tests.event;
d18dd09b 16
6e1886bc
AM
17import static org.junit.Assert.assertEquals;
18import static org.junit.Assert.assertFalse;
19import static org.junit.Assert.assertNull;
20import static org.junit.Assert.assertSame;
21import static org.junit.Assert.assertTrue;
22import static org.junit.Assert.fail;
cbd4ad82 23
4c564a2d 24import org.eclipse.linuxtools.tmf.core.event.ITmfEventField;
6c13869b 25import org.eclipse.linuxtools.tmf.core.event.TmfEventField;
6e1886bc 26import org.junit.Test;
d18dd09b
ASL
27
28/**
cbd4ad82 29 * Test suite for the TmfEventField class.
d18dd09b 30 */
cad06250 31@SuppressWarnings("javadoc")
6e1886bc 32public class TmfEventFieldTest {
d18dd09b 33
75d42a16
FC
34 // ------------------------------------------------------------------------
35 // Variables
36 // ------------------------------------------------------------------------
37
38 private final String fFieldName1 = "Field-1";
39 private final String fFieldName2 = "Field-2";
40
ea2b103b 41 private final Object fValue1 = "Value";
42 private final Object fValue2 = Integer.valueOf(10);
75d42a16 43
085d898f
FC
44 private final TmfEventField fField1 = new TmfEventField(fFieldName1, fValue1);
45 private final TmfEventField fField2 = new TmfEventField(fFieldName2, fValue2, null);
46 private final TmfEventField fField3 = new TmfEventField(fFieldName1, fValue2, null);
75d42a16
FC
47
48 private final String fStructRootFieldName = "Root-S";
49 private final String[] fStructFieldNames = new String[] { fFieldName1, fFieldName2 };
50 private final TmfEventField fStructTerminalField1 = new TmfEventField(fFieldName1, null);
51 private final TmfEventField fStructTerminalField2 = new TmfEventField(fFieldName2, null);
52 private final TmfEventField fStructTerminalField3 = new TmfEventField(fFieldName1, null);
53 private final TmfEventField fStructRootField = new TmfEventField(fStructRootFieldName,
54 new ITmfEventField[] { fStructTerminalField1, fStructTerminalField2 });
55
56 private final String fRootFieldName = "Root";
57 private final String[] fFieldNames = new String[] { fFieldName1, fFieldName2 };
58 private final TmfEventField fRootField = new TmfEventField(fRootFieldName,
59 new ITmfEventField[] { fField1, fField2 });
60
75d42a16
FC
61 // ------------------------------------------------------------------------
62 // Constructors
63 // ------------------------------------------------------------------------
64
6e1886bc 65 @Test
75d42a16
FC
66 public void testTerminalStructConstructor() {
67 assertSame("getName", fFieldName1, fStructTerminalField1.getName());
68 assertNull("getValue", fStructTerminalField1.getValue());
8b63ffb9 69 assertEquals("getFields", 0, fStructTerminalField1.getFields().length);
75d42a16
FC
70 assertNull("getField(name)", fStructTerminalField1.getField(fFieldName1));
71 assertNull("getField(index)", fStructTerminalField1.getField(0));
72 assertEquals("getFieldNames", 0, fStructTerminalField1.getFieldNames().length);
73 assertNull("getFieldName", fStructTerminalField1.getFieldName(-1));
74 assertNull("getFieldName", fStructTerminalField1.getFieldName(0));
75 }
76
6e1886bc 77 @Test
75d42a16
FC
78 public void testNonTerminalStructConstructor() {
79 assertSame("getName", fStructRootFieldName, fStructRootField.getName());
80 assertNull("getValue", fStructRootField.getValue());
81 assertEquals("getFields", 2, fStructRootField.getFields().length);
82 assertSame("getField(name)", fStructTerminalField1, fStructRootField.getField(fFieldName1));
83 assertSame("getField(name)", fStructTerminalField2, fStructRootField.getField(fFieldName2));
84 assertSame("getField(index)", fStructTerminalField1, fStructRootField.getField(0));
85 assertSame("getField(index)", fStructTerminalField2, fStructRootField.getField(1));
86
085d898f 87 final String[] names = fStructRootField.getFieldNames();
75d42a16
FC
88 assertEquals("getFieldNames length", 2, names.length);
89 for (int i = 0; i < names.length; i++) {
90 assertSame("getFieldNames", fStructFieldNames[i], names[i]);
91 assertSame("getFieldName", fFieldNames[i], fStructRootField.getFieldName(i));
92 }
93 assertNull("getFieldName", fStructRootField.getFieldName(-1));
94 assertNull("getFieldName", fStructRootField.getFieldName(names.length));
95 }
96
6e1886bc 97 @Test
75d42a16
FC
98 public void testTerminalConstructor() {
99 assertSame("getName", fFieldName1, fField1.getName());
100 assertSame("getValue", fValue1, fField1.getValue());
8b63ffb9 101 assertEquals("getFields", 0, fField1.getFields().length);
75d42a16
FC
102 assertNull("getField(name)", fField1.getField(fFieldName1));
103 assertNull("getField(index)", fField1.getField(0));
104 assertEquals("getFieldNames", 0, fField1.getFieldNames().length);
105 assertNull("getFieldName", fField1.getFieldName(0));
106
107 assertSame("getName", fFieldName2, fField2.getName());
108 assertSame("getValue", fValue2, fField2.getValue());
8b63ffb9 109 assertEquals("getFields", 0, fField2.getFields().length);
75d42a16
FC
110 assertNull("getField(name)", fField2.getField(fFieldName2));
111 assertNull("getField(index)", fField2.getField(0));
112 assertEquals("getFieldNames", 0, fField2.getFieldNames().length);
113 assertNull("getFieldName", fField2.getFieldName(0));
114 }
115
6e1886bc 116 @Test
75d42a16
FC
117 public void testNonTerminalConstructor() {
118 assertSame("getName", fRootFieldName, fRootField.getName());
119 assertNull("getValue", fRootField.getValue());
120 assertEquals("getFields", 2, fRootField.getFields().length);
121 assertSame("getField(name)", fField1, fRootField.getField(fFieldName1));
122 assertSame("getField(name)", fField2, fRootField.getField(fFieldName2));
123 assertSame("getField(index)", fField1, fRootField.getField(0));
124 assertSame("getField(index)", fField2, fRootField.getField(1));
125
085d898f 126 final String[] names = fRootField.getFieldNames();
75d42a16
FC
127 assertEquals("getFieldNames length", 2, names.length);
128 for (int i = 0; i < names.length; i++) {
129 assertSame("getFieldNames", fFieldNames[i], names[i]);
130 assertSame("getFieldName", fFieldNames[i], fRootField.getFieldName(i));
131 }
132 assertNull("getFieldName", fRootField.getFieldName(-1));
133 assertNull("getFieldName", fRootField.getFieldName(names.length));
134 }
135
6e1886bc 136 @Test
75d42a16
FC
137 public void testConstructorBadArg() {
138 try {
139 new TmfEventField(null, fValue1, null);
140 fail("Invalid (null) field name");
085d898f 141 } catch (final IllegalArgumentException e) {
75d42a16
FC
142 }
143 }
144
6e1886bc 145 @Test
75d42a16 146 public void testTerminalCopyConstructor() {
085d898f 147 final TmfEventField copy = new TmfEventField(fField1);
75d42a16
FC
148 assertSame("getName", fFieldName1, copy.getName());
149 assertSame("getValue", fValue1, copy.getValue());
8b63ffb9 150 assertEquals("getFields", 0, copy.getFields().length);
75d42a16
FC
151 assertNull("getField(name)", copy.getField(fFieldName1));
152 assertNull("getField(index)", copy.getField(0));
153 assertEquals("getFieldNames", 0, copy.getFieldNames().length);
154 assertNull("getFieldName", copy.getFieldName(0));
155 }
156
6e1886bc 157 @Test
75d42a16
FC
158 public void testNonTerminalCopyConstructor() {
159 assertSame("getName", fRootFieldName, fRootField.getName());
160 assertNull("getValue", fRootField.getValue());
161 assertEquals("getFields", 2, fRootField.getFields().length);
162 assertSame("getField(name)", fField1, fRootField.getField(fFieldName1));
163 assertSame("getField(name)", fField2, fRootField.getField(fFieldName2));
164 assertSame("getField(index)", fField1, fRootField.getField(0));
165 assertSame("getField(index)", fField2, fRootField.getField(1));
166
085d898f 167 final String[] names = fRootField.getFieldNames();
75d42a16
FC
168 assertEquals("getFieldNames length", 2, names.length);
169 for (int i = 0; i < names.length; i++) {
170 assertSame("getFieldNames", fFieldNames[i], names[i]);
171 assertSame("getFieldName", fFieldNames[i], fRootField.getFieldName(i));
172 }
173 assertNull("getFieldName", fRootField.getFieldName(names.length));
174 }
175
6e1886bc 176 @Test
75d42a16
FC
177 public void testCopyConstructorBadArg() {
178 try {
179 new TmfEventField(null);
180 fail("TmfEventField: null arguemnt");
085d898f 181 } catch (final IllegalArgumentException e) {
75d42a16
FC
182 }
183 }
184
185 // ------------------------------------------------------------------------
75d42a16
FC
186 // hashCode
187 // ------------------------------------------------------------------------
188
6e1886bc 189 @Test
54a7a54c 190 public void testHashCode() {
75d42a16
FC
191 TmfEventField copy = new TmfEventField(fField1);
192 assertTrue("hashCode", fField1.hashCode() == copy.hashCode());
193 assertTrue("hashCode", fField1.hashCode() != fField2.hashCode());
194
195 copy = new TmfEventField(fStructTerminalField1);
196 assertTrue("hashCode", fStructTerminalField1.hashCode() == copy.hashCode());
197 assertTrue("hashCode", fStructTerminalField1.hashCode() != fStructTerminalField2.hashCode());
198 }
199
200 // ------------------------------------------------------------------------
201 // equals
202 // ------------------------------------------------------------------------
203
6e1886bc 204 @Test
54a7a54c 205 public void testEqualsReflexivity() {
75d42a16
FC
206 assertTrue("equals", fField1.equals(fField1));
207 assertTrue("equals", fField2.equals(fField2));
208
209 assertFalse("equals", fField1.equals(fField2));
210 assertFalse("equals", fField2.equals(fField1));
211
212 assertTrue("equals", fStructTerminalField1.equals(fStructTerminalField1));
213 assertTrue("equals", fStructTerminalField2.equals(fStructTerminalField2));
214
215 assertFalse("equals", fStructTerminalField1.equals(fStructTerminalField2));
216 assertFalse("equals", fStructTerminalField2.equals(fStructTerminalField1));
217 }
218
6e1886bc 219 @Test
54a7a54c 220 public void testEqualsSymmetry() {
085d898f 221 final TmfEventField copy0 = new TmfEventField(fField1);
75d42a16
FC
222 assertTrue("equals", fField1.equals(copy0));
223 assertTrue("equals", copy0.equals(fField1));
085d898f
FC
224
225 final TmfEventField copy3 = new TmfEventField(fField2);
75d42a16
FC
226 assertTrue("equals", fField2.equals(copy3));
227 assertTrue("equals", copy3.equals(fField2));
228 }
229
6e1886bc 230 @Test
54a7a54c 231 public void testEqualsTransivity() {
75d42a16
FC
232 TmfEventField copy1 = new TmfEventField(fField1);
233 TmfEventField copy2 = new TmfEventField(copy1);
234 assertTrue("equals", fField1.equals(copy1));
235 assertTrue("equals", copy1.equals(copy2));
236 assertTrue("equals", fField1.equals(copy2));
237
238 copy1 = new TmfEventField(fField2);
239 copy2 = new TmfEventField(copy1);
240 assertTrue("equals", fField2.equals(copy1));
241 assertTrue("equals", copy1.equals(copy2));
242 assertTrue("equals", fField2.equals(copy2));
243 }
244
6e1886bc 245 @Test
54a7a54c 246 public void testEquals() {
75d42a16
FC
247 assertTrue("equals", fStructTerminalField1.equals(fStructTerminalField3));
248 assertTrue("equals", fStructTerminalField3.equals(fStructTerminalField1));
249
250 assertFalse("equals", fStructTerminalField1.equals(fField3));
251 assertFalse("equals", fField3.equals(fStructTerminalField1));
252 }
253
6e1886bc 254 @Test
54a7a54c 255 public void testEqualsNull() {
39f9eadb
FC
256 assertFalse("equals", fField1.equals(null));
257 assertFalse("equals", fField2.equals(null));
258 }
259
6e1886bc 260 @Test
54a7a54c 261 public void testNonEqualClasses() {
39f9eadb
FC
262 assertFalse("equals", fField1.equals(fStructTerminalField1));
263 assertFalse("equals", fField1.equals(fValue1));
264 }
265
6e1886bc 266 @Test
54a7a54c 267 public void testNonEqualValues() {
085d898f 268 final TmfEventField copy1 = new TmfEventField(fFieldName1, fValue1);
39f9eadb
FC
269 TmfEventField copy2 = new TmfEventField(fFieldName1, fValue1);
270 assertTrue("equals", copy1.equals(copy2));
271 assertTrue("equals", copy2.equals(copy1));
272
273 copy2 = new TmfEventField(fFieldName1, fValue2);
274 assertFalse("equals", copy1.equals(copy2));
275 assertFalse("equals", copy2.equals(copy1));
276
277 copy2 = new TmfEventField(fFieldName1, null);
278 assertFalse("equals", copy1.equals(copy2));
279 assertFalse("equals", copy2.equals(copy1));
280 }
281
6e1886bc 282 @Test
54a7a54c 283 public void testNonEquals() {
75d42a16
FC
284 assertFalse("equals", fField1.equals(fField2));
285 assertFalse("equals", fField2.equals(fField1));
286
287 assertFalse("equals", fField1.equals(fStructTerminalField1));
288 }
289
75d42a16
FC
290 // ------------------------------------------------------------------------
291 // toString
292 // ------------------------------------------------------------------------
293
6e1886bc 294 @Test
75d42a16 295 public void testToString() {
306dc902 296 final String expected1 = fFieldName1 + "=" + fValue1.toString();
75d42a16
FC
297 TmfEventField field = new TmfEventField(fFieldName1, fValue1, null);
298 assertEquals("toString", expected1, field.toString());
299
306dc902 300 final String expected2 = fFieldName1 + "=" + fValue2.toString();
75d42a16
FC
301 field = new TmfEventField(fFieldName1, fValue2, null);
302 assertEquals("toString", expected2, field.toString());
303 }
304
305 // ------------------------------------------------------------------------
306 // makeRoot
307 // ------------------------------------------------------------------------
308
6e1886bc 309 @Test
75d42a16
FC
310 public void testMakeRoot() {
311 ITmfEventField root = TmfEventField.makeRoot(fStructFieldNames);
312 String[] names = root.getFieldNames();
313 assertEquals("getFieldNames length", 2, names.length);
314 for (int i = 0; i < names.length; i++) {
315 assertSame("getFieldNames", fStructFieldNames[i], names[i]);
316 assertSame("getFieldName", fStructFieldNames[i], root.getFieldName(i));
317 assertNull("getValue", root.getField(i).getValue());
318 }
319 assertNull("getFieldName", root.getFieldName(-1));
320 assertNull("getFieldName", root.getFieldName(names.length));
321
322 root = TmfEventField.makeRoot(fFieldNames);
323 names = root.getFieldNames();
324 assertEquals("getFieldNames length", 2, names.length);
325 for (int i = 0; i < names.length; i++) {
326 assertSame("getFieldNames", fFieldNames[i], names[i]);
327 assertSame("getFieldName", fFieldNames[i], root.getFieldName(i));
328 assertNull("getValue", root.getField(i).getValue());
329 }
330 assertNull("getFieldName", root.getFieldName(-1));
331 assertNull("getFieldName", root.getFieldName(names.length));
332 }
d18dd09b
ASL
333
334}
This page took 0.057927 seconds and 5 git commands to generate.