1 /**********************************************************************
2 * Copyright (c) 2012, 2014 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
.*;
18 import java
.util
.LinkedList
;
19 import java
.util
.List
;
21 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.IBaseEventInfo
;
22 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.IUstProviderInfo
;
23 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.impl
.BaseEventInfo
;
24 import org
.eclipse
.linuxtools
.internal
.lttng2
.control
.core
.model
.impl
.UstProviderInfo
;
25 import org
.junit
.Before
;
26 import org
.junit
.Test
;
29 * The class <code>ChannelInfoTest</code> contains tests for the class
30 * <code>{@link UstProviderInfo}</code>.
32 public class UstProviderInfoTest
{
34 // ------------------------------------------------------------------------
36 // ------------------------------------------------------------------------
38 private IUstProviderInfo fUstProviderInfo1
= null;
39 private IUstProviderInfo fUstProviderInfo2
= null;
41 private IBaseEventInfo fEventInfo1
= null;
42 private IBaseEventInfo fEventInfo2
= null;
44 // ------------------------------------------------------------------------
46 // ------------------------------------------------------------------------
49 * Perform pre-test initialization.
53 ModelImplFactory factory
= new ModelImplFactory();
54 fUstProviderInfo1
= factory
.getUstProviderInfo1();
55 fUstProviderInfo2
= factory
.getUstProviderInfo2();
56 fEventInfo1
= factory
.getBaseEventInfo1();
57 fEventInfo2
= factory
.getBaseEventInfo2();
60 // ------------------------------------------------------------------------
62 // ------------------------------------------------------------------------
64 // ------------------------------------------------------------------------
66 // ------------------------------------------------------------------------
69 * Run the UstProviderInfo() constructor test.
72 public void testUstProviderInfo() {
73 IUstProviderInfo result
= new UstProviderInfo("test");
74 assertNotNull(result
);
76 assertEquals("test", result
.getName());
77 assertEquals(0, result
.getPid());
78 assertEquals(0, result
.getEvents().length
);
82 * Test the copy constructor.
85 public void testUstProviderInfoCopy() {
86 IUstProviderInfo providerInf
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
88 assertEquals(fUstProviderInfo1
.getName(), providerInf
.getName());
89 assertEquals(fUstProviderInfo1
.getPid(), providerInf
.getPid());
90 assertEquals(fUstProviderInfo1
.getEvents().length
, providerInf
.getEvents().length
);
92 IBaseEventInfo
[] orignalEvents
= fUstProviderInfo1
.getEvents();
93 IBaseEventInfo
[] resultEvents
= providerInf
.getEvents();
94 for (int i
= 0; i
< orignalEvents
.length
; i
++) {
95 assertEquals(orignalEvents
[i
], resultEvents
[i
]);
100 * Test the copy constructor.
103 public void testUstProviderCopy2() {
105 UstProviderInfo providerInfo
= null;
106 new UstProviderInfo(providerInfo
);
109 catch (IllegalArgumentException e
) {
115 * Run the IEventInfo[] getEvents() method test.
118 public void testGetAndSetters() {
119 IUstProviderInfo fixture
= new UstProviderInfo("test");
120 fixture
.setPid(2468);
123 IBaseEventInfo event
= new BaseEventInfo("event");
124 fixture
.addEvent(event
);
126 // Verify the stored events
127 IBaseEventInfo
[] result
= fixture
.getEvents();
129 assertNotNull(result
);
130 assertEquals(1, result
.length
);
131 assertNotNull(result
[0]);
132 assertTrue(event
.equals(result
[0]));
134 assertEquals(2468, fixture
.getPid());
138 * Run the void setEvents(List<IBaseEventInfo>) method test.
141 public void testSetEvents_1() {
142 UstProviderInfo fixture
= new UstProviderInfo("test");
143 fixture
.setPid(2468);
144 List
<IBaseEventInfo
> events
= new LinkedList
<>();
145 events
.add(fEventInfo1
);
146 events
.add(fEventInfo2
);
147 fixture
.setEvents(events
);
149 IBaseEventInfo
[] infos
= fixture
.getEvents();
151 assertEquals(events
.size(), infos
.length
);
153 for (int i
= 0; i
< infos
.length
; i
++) {
154 assertEquals(events
.get(i
), infos
[i
]);
159 * Run the String toString() method test.
162 public void testToString_1() {
163 UstProviderInfo fixture
= new UstProviderInfo("test");
164 fixture
.setPid(2468);
165 String result
= fixture
.toString();
167 assertEquals("[EventInfo([TraceInfo(Name=test)],PID=2468,Events=None)]", result
);
171 * Run the String toString() method test.
174 public void testToString_2() {
175 String result
= fUstProviderInfo2
.toString();
176 assertEquals("[EventInfo([TraceInfo(Name=myUST2)],PID=2345,Events=[BaseEventInfo([TraceInfo(Name=event1)]," +
177 "type=UNKNOWN,level=TRACE_DEBUG,Fields=[FieldInfo([TraceInfo(Name=intfield)],type=int[FieldInfo" +
178 "([TraceInfo(Name=stringfield)],type=string,Filter=intField==10)][BaseEventInfo([TraceInfo(Name=event2)]," +
179 "type=TRACEPOINT,level=TRACE_DEBUG)])]", result
);
182 // ------------------------------------------------------------------------
184 // ------------------------------------------------------------------------
187 * Run the equals() method test.
190 public void testEqualsReflexivity() {
191 assertTrue("equals", fUstProviderInfo1
.equals(fUstProviderInfo1
));
192 assertTrue("equals", fUstProviderInfo2
.equals(fUstProviderInfo2
));
194 assertTrue("equals", !fUstProviderInfo1
.equals(fUstProviderInfo2
));
195 assertTrue("equals", !fUstProviderInfo2
.equals(fUstProviderInfo1
));
199 * Run the equals() method test.
202 public void testEqualsSymmetry() {
203 UstProviderInfo event1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
204 UstProviderInfo event2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo2
);
206 assertTrue("equals", event1
.equals(fUstProviderInfo1
));
207 assertTrue("equals", fUstProviderInfo1
.equals(event1
));
209 assertTrue("equals", event2
.equals(fUstProviderInfo2
));
210 assertTrue("equals", fUstProviderInfo2
.equals(event2
));
214 * Run the equals() method test.
217 public void testEqualsTransivity() {
218 UstProviderInfo UstProvider1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
219 UstProviderInfo UstProvider2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
220 UstProviderInfo UstProvider3
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
222 assertTrue("equals", UstProvider1
.equals(UstProvider2
));
223 assertTrue("equals", UstProvider2
.equals(UstProvider3
));
224 assertTrue("equals", UstProvider1
.equals(UstProvider3
));
228 * Run the equals() method test.
231 public void testEqualsNull() {
232 assertTrue("equals", !fUstProviderInfo1
.equals(null));
233 assertTrue("equals", !fUstProviderInfo2
.equals(null));
236 // ------------------------------------------------------------------------
238 // ------------------------------------------------------------------------
241 * Run the hashCode() method test.
244 public void testHashCode() {
245 UstProviderInfo UstProvider1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
246 UstProviderInfo UstProvider2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo2
);
248 assertTrue("hashCode", fUstProviderInfo1
.hashCode() == UstProvider1
.hashCode());
249 assertTrue("hashCode", fUstProviderInfo2
.hashCode() == UstProvider2
.hashCode());
251 assertTrue("hashCode", fUstProviderInfo1
.hashCode() != UstProvider2
.hashCode());
252 assertTrue("hashCode", fUstProviderInfo2
.hashCode() != UstProvider1
.hashCode());