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.core.tests.control.model.impl;
16
import static org.junit.Assert.*;
18
import java.util.LinkedList;
19
import java.util.List;
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;
29
* The class <code>ChannelInfoTest</code> contains tests for the class
30
* <code>{@link SessionInfo}</code>.
32
public class SessionInfoTest {
34
// ------------------------------------------------------------------------
36
// ------------------------------------------------------------------------
38
private ISessionInfo fSessionInfo1 = null;
39
private ISessionInfo fSessionInfo2 = null;
41
private IDomainInfo fDomainInfo1 = null;
42
private IDomainInfo fDomainInfo2 = null;
44
// ------------------------------------------------------------------------
46
// ------------------------------------------------------------------------
49
* Perform pre-test initialization.
53
ModelImplFactory factory = new ModelImplFactory();
54
fSessionInfo1 = factory.getSessionInfo1();
55
fDomainInfo1 = factory.getDomainInfo1();
56
fSessionInfo2 = factory.getSessionInfo2();
57
fDomainInfo2 = factory.getDomainInfo2();
60
// ------------------------------------------------------------------------
62
// ------------------------------------------------------------------------
64
// ------------------------------------------------------------------------
66
// ------------------------------------------------------------------------
69
* Run the ChannelInfo() constructor test.
72
public void testSessionInfo() {
73
ISessionInfo result = new SessionInfo("test");
74
assertNotNull(result);
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);
87
* Test copy constructor.
90
public void testSessionInfoCopy() {
91
SessionInfo sessionInfo = new SessionInfo((SessionInfo)fSessionInfo1);
93
assertEquals(sessionInfo.getName(), fSessionInfo1.getName());
94
assertEquals(sessionInfo.getSessionPath(), fSessionInfo1.getSessionPath());
95
assertEquals(sessionInfo.getSessionState(), fSessionInfo1.getSessionState());
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]);
105
* Test copy constructor.
108
public void testSessionCopy2() {
110
SessionInfo session = null;
111
new SessionInfo(session);
114
catch (IllegalArgumentException e) {
120
* Run the long getNumberOfSubBuffers() method test.
123
public void testGetAndSetters() {
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]);
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);
137
IDomainInfo[] result = session.getDomains();
138
assertEquals(2, result.length);
139
assertEquals(fDomainInfo1, result[0]);
140
assertEquals(fDomainInfo2, result[1]);
142
session.setSessionPath("/home/user");
143
assertEquals("/home/user", session.getSessionPath());
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());
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());
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());
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());
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());
183
* Run the String toString() method test.
186
public void testToString_1() {
187
ISessionInfo fixture = new SessionInfo("sessionName");
189
String result = fixture.toString();
191
// add additional test code here
192
assertEquals("[SessionInfo([TraceInfo(Name=sessionName)],Path=,State=INACTIVE,isStreamedTrace=false,Domains=)]", result);
196
* Run the String toString() method test.
199
public void testToString_2() {
200
String result = fSessionInfo1.toString();
202
// add additional test code here
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);
212
* Run the String toString() method 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/");
220
String result = info.toString();
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);
230
// ------------------------------------------------------------------------
232
// ------------------------------------------------------------------------
235
* Run the {@link SessionInfo#equals} method test.
238
public void testEqualsReflexivity() {
239
assertTrue("equals", fSessionInfo1.equals(fSessionInfo1));
240
assertTrue("equals", fSessionInfo2.equals(fSessionInfo2));
242
assertTrue("equals", !fSessionInfo1.equals(fSessionInfo2));
243
assertTrue("equals", !fSessionInfo2.equals(fSessionInfo1));
247
* Run the {@link SessionInfo#equals} method test.
250
public void testEqualsSymmetry() {
251
SessionInfo event1 = new SessionInfo((SessionInfo)fSessionInfo1);
252
SessionInfo event2 = new SessionInfo((SessionInfo)fSessionInfo2);
254
assertTrue("equals", event1.equals(fSessionInfo1));
255
assertTrue("equals", fSessionInfo1.equals(event1));
257
assertTrue("equals", event2.equals(fSessionInfo2));
258
assertTrue("equals", fSessionInfo2.equals(event2));
262
* Run the {@link SessionInfo#equals} method test.
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);
270
assertTrue("equals", channel1.equals(channel2));
271
assertTrue("equals", channel2.equals(channel3));
272
assertTrue("equals", channel1.equals(channel3));
276
* Run the {@link SessionInfo#equals} method test.
279
public void testEqualsNull() {
280
assertTrue("equals", !fSessionInfo1.equals(null));
281
assertTrue("equals", !fSessionInfo2.equals(null));
284
// ------------------------------------------------------------------------
286
// ------------------------------------------------------------------------
289
* Run the {@link SessionInfo#hashCode} method test.
292
public void testHashCode() {
293
SessionInfo channel1 = new SessionInfo((SessionInfo)fSessionInfo1);
294
SessionInfo channel2 = new SessionInfo((SessionInfo)fSessionInfo2);
296
assertTrue("hashCode", fSessionInfo1.hashCode() == channel1.hashCode());
297
assertTrue("hashCode", fSessionInfo2.hashCode() == channel2.hashCode());
299
assertTrue("hashCode", fSessionInfo1.hashCode() != channel2.hashCode());
300
assertTrue("hashCode", fSessionInfo2.hashCode() != channel1.hashCode());
b'\\ No newline at end of file'