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