lttng: Port unit tests to JUnit4
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.core.tests / src / org / eclipse / linuxtools / lttng2 / core / tests / control / model / impl / SessionInfoTest.java
1 /**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 * Alexandre Montplaisir - Port to JUnit4
12 **********************************************************************/
13
14 package org.eclipse.linuxtools.lttng2.core.tests.control.model.impl;
15
16 import static org.junit.Assert.*;
17
18 import java.util.LinkedList;
19 import java.util.List;
20
21 import org.eclipse.linuxtools.internal.lttng2.core.control.model.IDomainInfo;
22 import org.eclipse.linuxtools.internal.lttng2.core.control.model.ISessionInfo;
23 import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceSessionState;
24 import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.SessionInfo;
25 import org.junit.Before;
26 import org.junit.Test;
27
28 /**
29 * The class <code>ChannelInfoTest</code> contains tests for the class
30 * <code>{@link SessionInfo}</code>.
31 */
32 @SuppressWarnings("nls")
33 public class SessionInfoTest {
34
35 // ------------------------------------------------------------------------
36 // Test data
37 // ------------------------------------------------------------------------
38
39 private ISessionInfo fSessionInfo1 = null;
40 private ISessionInfo fSessionInfo2 = null;
41
42 private IDomainInfo fDomainInfo1 = null;
43 private IDomainInfo fDomainInfo2 = null;
44
45 // ------------------------------------------------------------------------
46 // Housekeeping
47 // ------------------------------------------------------------------------
48
49 /**
50 * Perform pre-test initialization.
51 */
52 @Before
53 public void setUp() {
54 ModelImplFactory factory = new ModelImplFactory();
55 fSessionInfo1 = factory.getSessionInfo1();
56 fDomainInfo1 = factory.getDomainInfo1();
57 fSessionInfo2 = factory.getSessionInfo2();
58 fDomainInfo2 = factory.getDomainInfo2();
59 }
60
61 // ------------------------------------------------------------------------
62 // Tests
63 // ------------------------------------------------------------------------
64
65 // ------------------------------------------------------------------------
66 // Constructors
67 // ------------------------------------------------------------------------
68
69 /**
70 * Run the ChannelInfo() constructor test.
71 */
72 @Test
73 public void testSessionInfo() {
74 ISessionInfo result = new SessionInfo("test");
75 assertNotNull(result);
76
77 assertEquals("test", result.getName());
78 assertEquals("", result.getSessionPath());
79 TraceSessionState state = result.getSessionState();
80 assertEquals("inactive", state.getInName());
81 assertEquals("INACTIVE", state.name());
82 assertEquals("INACTIVE", state.toString());
83 assertEquals(0, state.ordinal());
84 assertEquals(0, result.getDomains().length);
85 }
86
87 /**
88 * Test copy constructor.
89 */
90 @Test
91 public void testSessionInfoCopy() {
92 SessionInfo sessionInfo = new SessionInfo((SessionInfo)fSessionInfo1);
93
94 assertEquals(sessionInfo.getName(), fSessionInfo1.getName());
95 assertEquals(sessionInfo.getSessionPath(), fSessionInfo1.getSessionPath());
96 assertEquals(sessionInfo.getSessionState(), fSessionInfo1.getSessionState());
97
98 IDomainInfo[] orignalDomains = fSessionInfo1.getDomains();
99 IDomainInfo[] resultDomains = sessionInfo.getDomains();
100 for (int i = 0; i < orignalDomains.length; i++) {
101 assertEquals(orignalDomains[i], resultDomains[i]);
102 }
103 }
104
105 /**
106 * Test copy constructor.
107 */
108 @Test
109 public void testSessionCopy2() {
110 try {
111 SessionInfo session = null;
112 new SessionInfo(session);
113 fail("null copy");
114 }
115 catch (IllegalArgumentException e) {
116 // Success
117 }
118 }
119
120 /**
121 * Run the long getNumberOfSubBuffers() method test.
122 */
123 @Test
124 public void testGetAndSetters() {
125
126 // Note that addDomain() has been executed in setUp()
127 // check get method here
128 assertEquals(1, fSessionInfo1.getDomains().length);
129 assertNotNull(fSessionInfo1.getDomains()[0]);
130 assertEquals(fDomainInfo1, fSessionInfo1.getDomains()[0]);
131
132 ISessionInfo session = new SessionInfo("session");
133 List<IDomainInfo> list = new LinkedList<IDomainInfo>();
134 list.add(fDomainInfo1);
135 list.add(fDomainInfo2);
136 session.setDomains(list);
137
138 IDomainInfo[] result = session.getDomains();
139 assertEquals(2, result.length);
140 assertEquals(fDomainInfo1, result[0]);
141 assertEquals(fDomainInfo2, result[1]);
142
143 session.setSessionPath("/home/user");
144 assertEquals("/home/user", session.getSessionPath());
145
146 session.setSessionState("active");
147 TraceSessionState state = session.getSessionState();
148 state = session.getSessionState();
149 assertEquals("active", state.getInName());
150 assertEquals("ACTIVE", state.name());
151 assertEquals("ACTIVE", state.toString());
152 assertEquals(1, state.ordinal());
153
154 session.setSessionState("inactive");
155 state = session.getSessionState();
156 assertEquals("inactive", state.getInName());
157 assertEquals("INACTIVE", state.name());
158 assertEquals("INACTIVE", state.toString());
159 assertEquals(0, state.ordinal());
160
161 session.setSessionState("test");
162 state = session.getSessionState();
163 assertEquals("inactive", state.getInName());
164 assertEquals("INACTIVE", state.name());
165 assertEquals("INACTIVE", state.toString());
166 assertEquals(0, state.ordinal());
167
168 session.setSessionState(TraceSessionState.ACTIVE);
169 state = session.getSessionState();
170 assertEquals("active", state.getInName());
171 assertEquals("ACTIVE", state.name());
172 assertEquals("ACTIVE", state.toString());
173 assertEquals(1, state.ordinal());
174
175 session.setSessionState(TraceSessionState.INACTIVE);
176 state = session.getSessionState();
177 assertEquals("inactive", state.getInName());
178 assertEquals("INACTIVE", state.name());
179 assertEquals("INACTIVE", state.toString());
180 assertEquals(0, state.ordinal());
181 }
182
183 /**
184 * Run the String toString() method test.
185 */
186 @Test
187 public void testToString_1() {
188 ISessionInfo fixture = new SessionInfo("sessionName");
189
190 String result = fixture.toString();
191
192 // add additional test code here
193 assertEquals("[SessionInfo([TraceInfo(Name=sessionName)],State=INACTIVE,Domains=)]", result);
194 }
195
196 /**
197 * Run the String toString() method test.
198 */
199 @Test
200 public void testToString_2() {
201 String result = fSessionInfo1.toString();
202
203 // add additional test code here
204 assertEquals("[SessionInfo([TraceInfo(Name=session1)],State=ACTIVE,Domains=[DomainInfo([TraceInfo(Name=test1)],Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])],isKernel=false)])]", result);
205 }
206
207 // ------------------------------------------------------------------------
208 // equals
209 // ------------------------------------------------------------------------
210
211 /**
212 * Run the {@link SessionInfo#equals} method test.
213 */
214 @Test
215 public void testEqualsReflexivity() {
216 assertTrue("equals", fSessionInfo1.equals(fSessionInfo1));
217 assertTrue("equals", fSessionInfo2.equals(fSessionInfo2));
218
219 assertTrue("equals", !fSessionInfo1.equals(fSessionInfo2));
220 assertTrue("equals", !fSessionInfo2.equals(fSessionInfo1));
221 }
222
223 /**
224 * Run the {@link SessionInfo#equals} method test.
225 */
226 @Test
227 public void testEqualsSymmetry() {
228 SessionInfo event1 = new SessionInfo((SessionInfo)fSessionInfo1);
229 SessionInfo event2 = new SessionInfo((SessionInfo)fSessionInfo2);
230
231 assertTrue("equals", event1.equals(fSessionInfo1));
232 assertTrue("equals", fSessionInfo1.equals(event1));
233
234 assertTrue("equals", event2.equals(fSessionInfo2));
235 assertTrue("equals", fSessionInfo2.equals(event2));
236 }
237
238 /**
239 * Run the {@link SessionInfo#equals} method test.
240 */
241 @Test
242 public void testEqualsTransivity() {
243 SessionInfo channel1 = new SessionInfo((SessionInfo)fSessionInfo1);
244 SessionInfo channel2 = new SessionInfo((SessionInfo)fSessionInfo1);
245 SessionInfo channel3 = new SessionInfo((SessionInfo)fSessionInfo1);
246
247 assertTrue("equals", channel1.equals(channel2));
248 assertTrue("equals", channel2.equals(channel3));
249 assertTrue("equals", channel1.equals(channel3));
250 }
251
252 /**
253 * Run the {@link SessionInfo#equals} method test.
254 */
255 @Test
256 public void testEqualsNull() {
257 assertTrue("equals", !fSessionInfo1.equals(null));
258 assertTrue("equals", !fSessionInfo2.equals(null));
259 }
260
261 // ------------------------------------------------------------------------
262 // hashCode
263 // ------------------------------------------------------------------------
264
265 /**
266 * Run the {@link SessionInfo#hashCode} method test.
267 */
268 @Test
269 public void testHashCode() {
270 SessionInfo channel1 = new SessionInfo((SessionInfo)fSessionInfo1);
271 SessionInfo channel2 = new SessionInfo((SessionInfo)fSessionInfo2);
272
273 assertTrue("hashCode", fSessionInfo1.hashCode() == channel1.hashCode());
274 assertTrue("hashCode", fSessionInfo2.hashCode() == channel2.hashCode());
275
276 assertTrue("hashCode", fSessionInfo1.hashCode() != channel2.hashCode());
277 assertTrue("hashCode", fSessionInfo2.hashCode() != channel1.hashCode());
278 }
279 }
This page took 0.041559 seconds and 5 git commands to generate.