1 /**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12 package org
.eclipse
.linuxtools
.lttng
.ui
.tests
.control
.model
.impl
;
14 import junit
.framework
.TestCase
;
16 import org
.eclipse
.linuxtools
.internal
.lttng
.ui
.views
.control
.model
.IBaseEventInfo
;
17 import org
.eclipse
.linuxtools
.internal
.lttng
.ui
.views
.control
.model
.TraceEventType
;
18 import org
.eclipse
.linuxtools
.internal
.lttng
.ui
.views
.control
.model
.TraceLogLevel
;
19 import org
.eclipse
.linuxtools
.internal
.lttng
.ui
.views
.control
.model
.impl
.BaseEventInfo
;
22 * The class <code>BaseEventInfoTest</code> contains test for the class <code>{@link BaseEventInfo}</code>.
24 @SuppressWarnings("nls")
25 public class BaseEventInfoTest
extends TestCase
{
27 // ------------------------------------------------------------------------
29 // ------------------------------------------------------------------------
30 private IBaseEventInfo fEventInfo1
= null;
31 private IBaseEventInfo fEventInfo2
= null;
33 // ------------------------------------------------------------------------
35 // ------------------------------------------------------------------------
37 * Perform pre-test initialization.
39 * @throws Exception if the initialization fails for some reason
43 public void setUp() throws Exception
{
45 ModelImplFactory factory
= new ModelImplFactory();
46 fEventInfo1
= factory
.getBaseEventInfo1();
47 fEventInfo2
= factory
.getBaseEventInfo2();
51 * Perform post-test clean-up.
53 * @throws Exception if the clean-up fails for some reason
57 public void tearDown() throws Exception
{
60 // ------------------------------------------------------------------------
62 // ------------------------------------------------------------------------
65 * Run the BaseEventInfo() constructor test.
68 public void testBaseEventInfo() {
69 BaseEventInfo fixture
= new BaseEventInfo("event");
70 assertNotNull(fixture
);
72 TraceEventType result
= fixture
.getEventType();
74 assertEquals("event", fixture
.getName());
75 assertEquals("unknown", result
.getInName());
76 assertEquals("UNKNOWN", result
.name());
77 assertEquals("UNKNOWN", result
.toString());
78 assertEquals(3, result
.ordinal());
80 TraceLogLevel level
= fixture
.getLogLevel();
81 assertEquals("TRACE_DEBUG", level
.getInName());
82 assertEquals("TRACE_DEBUG", level
.name());
83 assertEquals("TRACE_DEBUG", level
.toString());
84 assertEquals(14, level
.ordinal());
88 * Test Copy Constructor
90 public void testEventInfoCopy() {
91 BaseEventInfo info
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
93 assertEquals(fEventInfo1
.getName(), info
.getName());
94 assertEquals(fEventInfo1
.getEventType(), info
.getEventType());
95 assertEquals(fEventInfo1
.getLogLevel(), info
.getLogLevel());
99 * Test Copy Constructor
101 public void testEventCopy2() {
103 BaseEventInfo info
= null;
104 new BaseEventInfo(info
);
107 catch (IllegalArgumentException e
) {
113 * Run the TraceEventType getEventType() method test.
118 public void testGetEventType_1() {
119 BaseEventInfo fixture
= new BaseEventInfo("event");
120 fixture
.setEventType("unknown");
122 TraceEventType result
= fixture
.getEventType();
124 assertNotNull(result
);
125 assertEquals("unknown", result
.getInName());
126 assertEquals("UNKNOWN", result
.name());
127 assertEquals("UNKNOWN", result
.toString());
128 assertEquals(3, result
.ordinal());
130 fixture
.setEventType("");
131 result
= fixture
.getEventType();
132 assertEquals("unknown", result
.getInName());
133 assertEquals("UNKNOWN", result
.name());
134 assertEquals("UNKNOWN", result
.toString());
135 assertEquals(3, result
.ordinal());
137 fixture
.setEventType("tracepoint");
138 result
= fixture
.getEventType();
139 assertNotNull(result
);
140 assertEquals("tracepoint", result
.getInName());
141 assertEquals("TRACEPOINT", result
.name());
142 assertEquals("TRACEPOINT", result
.toString());
143 assertEquals(0, result
.ordinal());
145 fixture
.setEventType("syscall");
146 result
= fixture
.getEventType();
147 assertNotNull(result
);
148 assertEquals("syscall", result
.getInName());
149 assertEquals("SYSCALL", result
.name());
150 assertEquals("SYSCALL", result
.toString());
151 assertEquals(1, result
.ordinal());
153 fixture
.setEventType("probe");
154 result
= fixture
.getEventType();
155 assertNotNull(result
);
156 assertEquals("probe", result
.getInName());
157 assertEquals("PROBE", result
.name());
158 assertEquals("PROBE", result
.toString());
159 assertEquals(2, result
.ordinal());
164 * Run the void setEventType(TraceEventType) method test.
167 public void testSetEventType_2() {
168 BaseEventInfo fixture
= new BaseEventInfo("event");
169 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
171 TraceEventType result
= fixture
.getEventType();
173 assertNotNull(result
);
174 assertEquals("tracepoint", result
.getInName());
175 assertEquals("TRACEPOINT", result
.name());
176 assertEquals("TRACEPOINT", result
.toString());
177 assertEquals(0, result
.ordinal());
179 fixture
.setEventType(TraceEventType
.UNKNOWN
);
180 result
= fixture
.getEventType();
182 assertNotNull(result
);
183 assertEquals("unknown", result
.getInName());
184 assertEquals("UNKNOWN", result
.name());
185 assertEquals("UNKNOWN", result
.toString());
186 assertEquals(3, result
.ordinal());
188 fixture
.setEventType(TraceEventType
.SYSCALL
);
189 result
= fixture
.getEventType();
190 assertNotNull(result
);
191 assertEquals("syscall", result
.getInName());
192 assertEquals("SYSCALL", result
.name());
193 assertEquals("SYSCALL", result
.toString());
194 assertEquals(1, result
.ordinal());
196 fixture
.setEventType(TraceEventType
.PROBE
);
197 result
= fixture
.getEventType();
198 assertNotNull(result
);
199 assertEquals("probe", result
.getInName());
200 assertEquals("PROBE", result
.name());
201 assertEquals("PROBE", result
.toString());
202 assertEquals(2, result
.ordinal());
207 * Run the void setLogLevel(TraceLogLevel) method test.
208 * Run the TraceLogLevel getLogLevel() method test
211 public void testSetLogLevel1() {
212 BaseEventInfo fixture
= new BaseEventInfo("event");
213 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
214 fixture
.setLogLevel(TraceLogLevel
.TRACE_CRIT
);
216 // 2 set/get-operations are enough to test the method
217 TraceLogLevel result
= fixture
.getLogLevel();
218 assertNotNull(result
);
219 assertEquals("TRACE_CRIT", result
.getInName());
220 assertEquals("TRACE_CRIT", result
.name());
221 assertEquals("TRACE_CRIT", result
.toString());
222 assertEquals(2, result
.ordinal());
224 fixture
.setLogLevel(TraceLogLevel
.TRACE_DEBUG_FUNCTION
);
226 result
= fixture
.getLogLevel();
227 assertNotNull(result
);
228 assertEquals("TRACE_DEBUG_FUNCTION", result
.getInName());
229 assertEquals("TRACE_DEBUG_FUNCTION", result
.name());
230 assertEquals("TRACE_DEBUG_FUNCTION", result
.toString());
231 assertEquals(12, result
.ordinal());
235 * Run the void setLogLevel(String) method test.
236 * Run the TraceLogLevel getLogLevel() method test
239 public void testSetLogLevel2() {
240 BaseEventInfo fixture
= new BaseEventInfo("event");
241 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
242 fixture
.setLogLevel("TRACE_EMERG");
244 TraceLogLevel result
= fixture
.getLogLevel();
245 assertNotNull(result
);
246 assertEquals("TRACE_EMERG", result
.getInName());
247 assertEquals("TRACE_EMERG", result
.name());
248 assertEquals(0, result
.ordinal());
250 //------------------------
251 fixture
.setLogLevel("TRACE_ALERT");
253 result
= fixture
.getLogLevel();
254 assertNotNull(result
);
255 assertEquals("TRACE_ALERT", result
.getInName());
256 assertEquals("TRACE_ALERT", result
.name());
257 assertEquals(1, result
.ordinal());
259 //------------------------
260 fixture
.setLogLevel("TRACE_CRIT");
262 result
= fixture
.getLogLevel();
263 assertNotNull(result
);
264 assertEquals("TRACE_CRIT", result
.getInName());
265 assertEquals("TRACE_CRIT", result
.name());
266 assertEquals(2, result
.ordinal());
268 //------------------------
269 fixture
.setLogLevel("TRACE_ERR");
271 result
= fixture
.getLogLevel();
272 assertNotNull(result
);
273 assertEquals("TRACE_ERR", result
.getInName());
274 assertEquals("TRACE_ERR", result
.name());
275 assertEquals(3, result
.ordinal());
277 //------------------------
278 fixture
.setLogLevel("TRACE_WARNING");
280 result
= fixture
.getLogLevel();
281 assertNotNull(result
);
282 assertEquals("TRACE_WARNING", result
.getInName());
283 assertEquals("TRACE_WARNING", result
.name());
284 assertEquals(4, result
.ordinal());
286 //------------------------
287 fixture
.setLogLevel("TRACE_NOTICE");
289 result
= fixture
.getLogLevel();
290 assertNotNull(result
);
291 assertEquals("TRACE_NOTICE", result
.getInName());
292 assertEquals("TRACE_NOTICE", result
.name());
293 assertEquals(5, result
.ordinal());
295 //------------------------
296 fixture
.setLogLevel("TRACE_INFO");
298 result
= fixture
.getLogLevel();
299 assertNotNull(result
);
300 assertEquals("TRACE_INFO", result
.getInName());
301 assertEquals("TRACE_INFO", result
.name());
302 assertEquals(6, result
.ordinal());
304 //------------------------
305 fixture
.setLogLevel("TRACE_DEBUG_SYSTEM");
307 result
= fixture
.getLogLevel();
308 assertNotNull(result
);
309 assertEquals("TRACE_DEBUG_SYSTEM", result
.getInName());
310 assertEquals("TRACE_DEBUG_SYSTEM", result
.name());
311 assertEquals(7, result
.ordinal());
313 //------------------------
314 fixture
.setLogLevel("TRACE_DEBUG_PROGRAM");
316 result
= fixture
.getLogLevel();
317 assertNotNull(result
);
318 assertEquals("TRACE_DEBUG_PROGRAM", result
.getInName());
319 assertEquals("TRACE_DEBUG_PROGRAM", result
.name());
320 assertEquals(8, result
.ordinal());
322 //------------------------
323 fixture
.setLogLevel("TRACE_DEBUG_PROCESS");
325 result
= fixture
.getLogLevel();
326 assertNotNull(result
);
327 assertEquals("TRACE_DEBUG_PROCESS", result
.getInName());
328 assertEquals("TRACE_DEBUG_PROCESS", result
.name());
329 assertEquals(9, result
.ordinal());
331 //------------------------
332 fixture
.setLogLevel("TRACE_DEBUG_MODULE");
334 result
= fixture
.getLogLevel();
335 assertNotNull(result
);
336 assertEquals("TRACE_DEBUG_MODULE", result
.getInName());
337 assertEquals("TRACE_DEBUG_MODULE", result
.name());
338 assertEquals(10, result
.ordinal());
340 //------------------------
341 fixture
.setLogLevel("TRACE_DEBUG_UNIT");
343 result
= fixture
.getLogLevel();
344 assertNotNull(result
);
345 assertEquals("TRACE_DEBUG_UNIT", result
.getInName());
346 assertEquals("TRACE_DEBUG_UNIT", result
.name());
347 assertEquals(11, result
.ordinal());
349 //------------------------
350 fixture
.setLogLevel("TRACE_DEBUG_FUNCTION");
352 result
= fixture
.getLogLevel();
353 assertNotNull(result
);
354 assertEquals("TRACE_DEBUG_FUNCTION", result
.getInName());
355 assertEquals("TRACE_DEBUG_FUNCTION", result
.name());
356 assertEquals(12, result
.ordinal());
358 //------------------------
359 fixture
.setLogLevel("TRACE_DEBUG_LINE");
361 result
= fixture
.getLogLevel();
362 assertNotNull(result
);
363 assertEquals("TRACE_DEBUG_LINE", result
.getInName());
364 assertEquals("TRACE_DEBUG_LINE", result
.name());
365 assertEquals(13, result
.ordinal());
367 //------------------------
368 fixture
.setLogLevel("TRACE_DEBUG");
370 result
= fixture
.getLogLevel();
371 assertNotNull(result
);
372 assertEquals("TRACE_DEBUG", result
.getInName());
373 assertEquals("TRACE_DEBUG", result
.name());
374 assertEquals(14, result
.ordinal());
376 //-------------------------
377 fixture
.setLogLevel("LEVEL_UNKNOWN");
379 result
= fixture
.getLogLevel();
380 assertNotNull(result
);
381 assertEquals("LEVEL_UNKNOWN", result
.getInName());
382 assertEquals("LEVEL_UNKNOWN", result
.name());
383 assertEquals(15, result
.ordinal());
385 fixture
.setLogLevel("garbage");
387 result
= fixture
.getLogLevel();
388 assertNotNull(result
);
389 assertEquals("TRACE_DEBUG", result
.getInName());
390 assertEquals("TRACE_DEBUG", result
.name());
391 assertEquals(14, result
.ordinal());
396 * Run the String toString() method test.
399 public void testToString_1() {
400 BaseEventInfo fixture
= new BaseEventInfo("event");
401 fixture
.setName("testName");
402 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
403 fixture
.setLogLevel(TraceLogLevel
.TRACE_ERR
);
405 String result
= fixture
.toString();
407 // add additional test code here
408 assertEquals("[BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_ERR)]", result
);
411 // ------------------------------------------------------------------------
413 // ------------------------------------------------------------------------
415 public void testEqualsReflexivity() {
416 assertTrue("equals", fEventInfo1
.equals(fEventInfo1
));
417 assertTrue("equals", fEventInfo2
.equals(fEventInfo2
));
419 assertTrue("equals", !fEventInfo1
.equals(fEventInfo2
));
420 assertTrue("equals", !fEventInfo2
.equals(fEventInfo1
));
423 public void testEqualsSymmetry() {
424 BaseEventInfo info1
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
425 BaseEventInfo info2
= new BaseEventInfo((BaseEventInfo
)fEventInfo2
);
427 assertTrue("equals", info1
.equals(fEventInfo1
));
428 assertTrue("equals", fEventInfo1
.equals(info1
));
430 assertTrue("equals", info2
.equals(fEventInfo2
));
431 assertTrue("equals", fEventInfo2
.equals(info2
));
434 public void testEqualsTransivity() {
435 BaseEventInfo info1
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
436 BaseEventInfo info2
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
437 BaseEventInfo info3
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
439 assertTrue("equals", info1
.equals(info2
));
440 assertTrue("equals", info2
.equals(info3
));
441 assertTrue("equals", info1
.equals(info3
));
444 public void testEqualsNull() {
445 assertTrue("equals", !fEventInfo1
.equals(null));
446 assertTrue("equals", !fEventInfo2
.equals(null));
449 // ------------------------------------------------------------------------
451 // ------------------------------------------------------------------------
453 public void testHashCode() {
454 BaseEventInfo info1
= new BaseEventInfo((BaseEventInfo
)fEventInfo1
);
455 BaseEventInfo info2
= new BaseEventInfo((BaseEventInfo
)fEventInfo2
);
457 assertTrue("hashCode", fEventInfo1
.hashCode() == info1
.hashCode());
458 assertTrue("hashCode", fEventInfo2
.hashCode() == info2
.hashCode());
460 assertTrue("hashCode", fEventInfo1
.hashCode() != info2
.hashCode());
461 assertTrue("hashCode", fEventInfo2
.hashCode() != info1
.hashCode());