1 /**********************************************************************
2 * Copyright (c) 2012, 2013 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 * Alexandre Montplaisir - Port to JUnit4
12 **********************************************************************/
14 package org
.eclipse
.linuxtools
.lttng2
.control
.core
.tests
.model
.impl
;
16 import static org
.junit
.Assert
.assertEquals
;
17 import static org
.junit
.Assert
.assertNotNull
;
18 import static org
.junit
.Assert
.assertTrue
;
19 import static org
.junit
.Assert
.fail
;
21 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.IEventInfo
;
22 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.LogLevelType
;
23 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.TraceEnablement
;
24 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.TraceEventType
;
25 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.impl
.EventInfo
;
26 import org
.junit
.Before
;
27 import org
.junit
.Test
;
30 * The class <code>EventInfoTest</code> contains test for the class
31 * <code>{@link EventInfo}</code>.
33 public class EventInfoTest
{
35 // ------------------------------------------------------------------------
37 // ------------------------------------------------------------------------
39 private IEventInfo fEventInfo1
= null;
40 private IEventInfo fEventInfo2
= null;
42 // ------------------------------------------------------------------------
44 // ------------------------------------------------------------------------
47 * Perform pre-test initialization.
51 ModelImplFactory factory
= new ModelImplFactory();
52 fEventInfo1
= factory
.getEventInfo1();
53 fEventInfo2
= factory
.getEventInfo2();
56 // ------------------------------------------------------------------------
58 // ------------------------------------------------------------------------
61 * Run the EventInfo() constructor test.
64 public void testBaseEventInfo() {
65 EventInfo fixture
= new EventInfo("event");
66 assertNotNull(fixture
);
68 TraceEventType result
= fixture
.getEventType();
70 assertEquals("event", fixture
.getName());
71 assertEquals("unknown", result
.getInName());
72 assertEquals("UNKNOWN", result
.name());
73 assertEquals("UNKNOWN", result
.toString());
74 assertEquals(4, result
.ordinal());
76 TraceEnablement state
= fixture
.getState();
77 assertEquals("disabled", state
.getInName());
78 assertEquals("DISABLED", state
.name());
79 assertEquals("DISABLED", state
.toString());
80 assertEquals(0, state
.ordinal());
82 LogLevelType logType
= fixture
.getLogLevelType();
83 assertEquals("", logType
.getShortName());
84 assertEquals("LOGLEVEL_NONE", logType
.name());
85 assertEquals("LOGLEVEL_NONE", logType
.toString());
86 assertEquals(0, state
.ordinal());
92 * Test Copy Constructor
95 public void testEventInfoCopy() {
96 EventInfo info
= new EventInfo((EventInfo
)fEventInfo1
);
98 assertEquals(fEventInfo1
.getName(), info
.getName());
99 assertEquals(fEventInfo1
.getEventType(), info
.getEventType());
100 assertEquals(fEventInfo1
.getState(), info
.getState());
101 assertEquals(fEventInfo1
.getLogLevelType(), info
.getLogLevelType());
105 * Test Copy Constructor
108 public void testEventCopy2() {
110 EventInfo info
= null;
114 catch (IllegalArgumentException e
) {
120 * Getter/Setter tests
123 public void testGetAndSetter() {
124 EventInfo fixture
= new EventInfo("event");
126 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
127 TraceEventType result
= fixture
.getEventType();
129 // setEventType(TraceEventType type)
130 assertNotNull(result
);
131 assertEquals("tracepoint", result
.getInName());
132 assertEquals("TRACEPOINT", result
.name());
133 assertEquals("TRACEPOINT", result
.toString());
134 assertEquals(0, result
.ordinal());
136 fixture
.setEventType(TraceEventType
.UNKNOWN
);
137 result
= fixture
.getEventType();
138 assertEquals("unknown", result
.getInName());
139 assertEquals("UNKNOWN", result
.name());
140 assertEquals("UNKNOWN", result
.toString());
141 assertEquals(4, result
.ordinal());
143 // setEventType(String typeName)
144 String typeName
= "";
145 fixture
.setEventType(typeName
);
146 result
= fixture
.getEventType();
148 assertEquals("unknown", result
.getInName());
149 assertEquals("UNKNOWN", result
.name());
150 assertEquals("UNKNOWN", result
.toString());
151 assertEquals(4, result
.ordinal());
153 typeName
= "unknown";
155 fixture
.setEventType(typeName
);
156 result
= fixture
.getEventType();
158 assertEquals("unknown", result
.getInName());
159 assertEquals("UNKNOWN", result
.name());
160 assertEquals("UNKNOWN", result
.toString());
161 assertEquals(4, result
.ordinal());
163 // setState(String stateName)
164 fixture
.setState("disabled");
165 TraceEnablement state
= fixture
.getState();
166 assertEquals("disabled", state
.getInName());
167 assertEquals("DISABLED", state
.name());
168 assertEquals("DISABLED", state
.toString());
169 assertEquals(0, state
.ordinal());
171 fixture
.setState("false");
172 state
= fixture
.getState();
173 assertEquals("false", state
.getInMiName());
174 assertEquals("DISABLED", state
.name());
175 assertEquals("DISABLED", state
.toString());
176 assertEquals(0, state
.ordinal());
178 fixture
.setState("bla");
179 state
= fixture
.getState();
180 assertEquals("disabled", state
.getInName());
181 assertEquals("DISABLED", state
.name());
182 assertEquals("DISABLED", state
.toString());
183 assertEquals(0, state
.ordinal());
185 fixture
.setState("enabled");
186 state
= fixture
.getState();
187 assertEquals("enabled", state
.getInName());
188 assertEquals("ENABLED", state
.name());
189 assertEquals("ENABLED", state
.toString());
190 assertEquals(1, state
.ordinal());
192 fixture
.setState("true");
193 state
= fixture
.getState();
194 assertEquals("true", state
.getInMiName());
195 assertEquals("ENABLED", state
.name());
196 assertEquals("ENABLED", state
.toString());
197 assertEquals(1, state
.ordinal());
199 // setState(TraceEnablement state)
200 fixture
.setState(TraceEnablement
.DISABLED
);
201 state
= fixture
.getState();
202 assertEquals("disabled", state
.getInName());
203 assertEquals("DISABLED", state
.name());
204 assertEquals("DISABLED", state
.toString());
205 assertEquals(0, state
.ordinal());
207 fixture
.setState(TraceEnablement
.ENABLED
);
208 state
= fixture
.getState();
209 assertEquals("enabled", state
.getInName());
210 assertEquals("ENABLED", state
.name());
211 assertEquals("ENABLED", state
.toString());
212 assertEquals(1, state
.ordinal());
214 // setLogLevelType(String name)
215 fixture
.setLogLevelType("==");
216 assertEquals("LOGLEVEL_ONLY", fixture
.getLogLevelType().name());
217 assertEquals("==", fixture
.getLogLevelType().getShortName());
219 fixture
.setLogLevelType("<=");
220 assertEquals("LOGLEVEL", fixture
.getLogLevelType().name());
221 assertEquals("<=", fixture
.getLogLevelType().getShortName());
223 fixture
.setLogLevelType("");
224 assertEquals("LOGLEVEL_ALL", fixture
.getLogLevelType().name());
225 assertEquals("", fixture
.getLogLevelType().getShortName());
227 fixture
.setLogLevelType(LogLevelType
.LOGLEVEL_ONLY
);
228 assertEquals("LOGLEVEL_ONLY", fixture
.getLogLevelType().name());
229 assertEquals("==", fixture
.getLogLevelType().getShortName());
231 fixture
.setLogLevelType(LogLevelType
.LOGLEVEL
);
232 assertEquals("LOGLEVEL", fixture
.getLogLevelType().name());
233 assertEquals("<=", fixture
.getLogLevelType().getShortName());
235 fixture
.setLogLevelType(LogLevelType
.LOGLEVEL_ALL
);
236 assertEquals("LOGLEVEL_ALL", fixture
.getLogLevelType().name());
237 assertEquals("", fixture
.getLogLevelType().getShortName());
239 fixture
.setLogLevelType(LogLevelType
.LOGLEVEL_NONE
);
240 assertEquals("LOGLEVEL_NONE", fixture
.getLogLevelType().name());
241 assertEquals("", fixture
.getLogLevelType().getShortName());
243 // setLogLevelType(String name)
245 fixture
.setLogLevelType("SINGLE");
246 assertEquals("LOGLEVEL_ONLY", fixture
.getLogLevelType().name());
247 assertEquals("SINGLE", fixture
.getLogLevelType().getMiName());
249 fixture
.setLogLevelType("RANGE");
250 assertEquals("LOGLEVEL", fixture
.getLogLevelType().name());
251 assertEquals("RANGE", fixture
.getLogLevelType().getMiName());
253 fixture
.setLogLevelType("ALL");
254 assertEquals("LOGLEVEL_ALL", fixture
.getLogLevelType().name());
255 assertEquals("ALL", fixture
.getLogLevelType().getMiName());
257 fixture
.setLogLevelType("UNKNOWN");
258 assertEquals("LOGLEVEL_NONE", fixture
.getLogLevelType().name());
259 assertEquals("UNKNOWN", fixture
.getLogLevelType().getMiName());
264 * Run the String toString() method test.
267 public void testToString_1() {
268 EventInfo fixture
= new EventInfo("event");
269 fixture
.setName("testName");
270 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
272 String result
= fixture
.toString();
274 // add additional test code here
275 assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_NONE)]", result
);
279 * Run the String toString() method test.
282 public void testToString_2() {
283 EventInfo fixture
= new EventInfo("event");
284 fixture
.setName("testName");
285 fixture
.setEventType(TraceEventType
.TRACEPOINT
);
286 fixture
.setLogLevelType(LogLevelType
.LOGLEVEL_ONLY
);
288 String result
= fixture
.toString();
290 // add additional test code here
291 assertEquals("[EventInfo([BaseEventInfo([TraceInfo(Name=testName)],type=TRACEPOINT,level=TRACE_DEBUG)],State=DISABLED,levelType=LOGLEVEL_ONLY)]", result
);
294 // ------------------------------------------------------------------------
296 // ------------------------------------------------------------------------
299 * Run the equals() method test.
302 public void testEqualsReflexivity() {
303 assertTrue("equals", fEventInfo1
.equals(fEventInfo1
));
304 assertTrue("equals", fEventInfo2
.equals(fEventInfo2
));
306 assertTrue("equals", !fEventInfo1
.equals(fEventInfo2
));
307 assertTrue("equals", !fEventInfo2
.equals(fEventInfo1
));
311 * Run the equals() method test.
314 public void testEqualsSymmetry() {
315 EventInfo info1
= new EventInfo((EventInfo
)fEventInfo1
);
316 EventInfo info2
= new EventInfo((EventInfo
)fEventInfo2
);
318 assertTrue("equals", info1
.equals(fEventInfo1
));
319 assertTrue("equals", fEventInfo1
.equals(info1
));
321 assertTrue("equals", info2
.equals(fEventInfo2
));
322 assertTrue("equals", fEventInfo2
.equals(info2
));
326 * Run the equals() method test.
329 public void testEqualsTransivity() {
330 EventInfo info1
= new EventInfo((EventInfo
)fEventInfo1
);
331 EventInfo info2
= new EventInfo((EventInfo
)fEventInfo1
);
332 EventInfo info3
= new EventInfo((EventInfo
)fEventInfo1
);
334 assertTrue("equals", info1
.equals(info2
));
335 assertTrue("equals", info2
.equals(info3
));
336 assertTrue("equals", info1
.equals(info3
));
340 * Run the equals() method test.
343 public void testEqualsNull() {
344 assertTrue("equals", !fEventInfo1
.equals(null));
345 assertTrue("equals", !fEventInfo2
.equals(null));
348 // ------------------------------------------------------------------------
350 // ------------------------------------------------------------------------
353 * Run the hashCode() method test.
356 public void testHashCode() {
357 EventInfo info1
= new EventInfo((EventInfo
)fEventInfo1
);
358 EventInfo info2
= new EventInfo((EventInfo
)fEventInfo2
);
360 assertTrue("hashCode", fEventInfo1
.hashCode() == info1
.hashCode());
361 assertTrue("hashCode", fEventInfo2
.hashCode() == info2
.hashCode());
363 assertTrue("hashCode", fEventInfo1
.hashCode() != info2
.hashCode());
364 assertTrue("hashCode", fEventInfo2
.hashCode() != info1
.hashCode());