1 /**********************************************************************
2 * Copyright (c) 2012 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 **********************************************************************/
12 package org
.eclipse
.linuxtools
.lttng2
.core
.tests
.control
.model
.impl
;
14 import java
.util
.LinkedList
;
15 import java
.util
.List
;
17 import junit
.framework
.TestCase
;
19 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IBaseEventInfo
;
20 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IUstProviderInfo
;
21 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.BaseEventInfo
;
22 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.impl
.UstProviderInfo
;
25 * The class <code>ChannelInfoTest</code> contains tests for the class <code>{@link UstProviderInfo}</code>.
28 @SuppressWarnings({"nls", "javadoc"})
29 public class UstProviderInfoTest
extends TestCase
{
30 // ------------------------------------------------------------------------
32 // ------------------------------------------------------------------------
33 private IUstProviderInfo fUstProviderInfo1
= null;
34 private IUstProviderInfo fUstProviderInfo2
= null;
36 private IBaseEventInfo fEventInfo1
= null;
37 private IBaseEventInfo fEventInfo2
= null;
39 // ------------------------------------------------------------------------
41 // ------------------------------------------------------------------------
44 * Perform pre-test initialization.
47 * if the initialization fails for some reason
52 ModelImplFactory factory
= new ModelImplFactory();
53 fUstProviderInfo1
= factory
.getUstProviderInfo1();
54 fUstProviderInfo2
= factory
.getUstProviderInfo2();
55 fEventInfo1
= factory
.getBaseEventInfo1();
56 fEventInfo2
= factory
.getBaseEventInfo2();
60 * Perform post-test clean-up.
63 * if the clean-up fails for some reason
67 public void tearDown() {
70 // ------------------------------------------------------------------------
72 // ------------------------------------------------------------------------
74 // ------------------------------------------------------------------------
76 // ------------------------------------------------------------------------
79 * Run the UstProviderInfo() constructor test.
82 public void testUstProviderInfo() {
83 IUstProviderInfo result
= new UstProviderInfo("test");
84 assertNotNull(result
);
86 assertEquals("test", result
.getName());
87 assertEquals(0, result
.getPid());
88 assertEquals(0, result
.getEvents().length
);
91 public void testUstProviderInfoCopy() {
92 IUstProviderInfo providerInf
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
94 assertEquals(fUstProviderInfo1
.getName(), providerInf
.getName());
95 assertEquals(fUstProviderInfo1
.getPid(), providerInf
.getPid());
96 assertEquals(fUstProviderInfo1
.getEvents().length
, providerInf
.getEvents().length
);
98 IBaseEventInfo
[] orignalEvents
= fUstProviderInfo1
.getEvents();
99 IBaseEventInfo
[] resultEvents
= providerInf
.getEvents();
100 for (int i
= 0; i
< orignalEvents
.length
; i
++) {
101 assertEquals(orignalEvents
[i
], resultEvents
[i
]);
105 public void testUstProviderCopy2() {
107 UstProviderInfo providerInfo
= null;
108 new UstProviderInfo(providerInfo
);
111 catch (IllegalArgumentException e
) {
117 * Run the IEventInfo[] getEvents() method test.
120 public void testGetAndSetters() {
121 IUstProviderInfo fixture
= new UstProviderInfo("test");
122 fixture
.setPid(2468);
125 IBaseEventInfo event
= new BaseEventInfo("event");
126 fixture
.addEvent(event
);
128 // Verify the stored events
129 IBaseEventInfo
[] result
= fixture
.getEvents();
131 assertNotNull(result
);
132 assertEquals(1, result
.length
);
133 assertNotNull(result
[0]);
134 assertTrue(event
.equals(result
[0]));
136 assertEquals(2468, fixture
.getPid());
140 * Run the void setEvents(List<IBaseEventInfo>) method test.
143 public void testSetEvents_1() {
144 UstProviderInfo fixture
= new UstProviderInfo("test");
145 fixture
.setPid(2468);
146 List
<IBaseEventInfo
> events
= new LinkedList
<IBaseEventInfo
>();
147 events
.add(fEventInfo1
);
148 events
.add(fEventInfo2
);
149 fixture
.setEvents(events
);
151 IBaseEventInfo
[] infos
= fixture
.getEvents();
153 assertEquals(events
.size(), infos
.length
);
155 for (int i
= 0; i
< infos
.length
; i
++) {
156 assertEquals(events
.get(i
), infos
[i
]);
160 public void testToString_1() {
161 UstProviderInfo fixture
= new UstProviderInfo("test");
162 fixture
.setPid(2468);
163 String result
= fixture
.toString();
165 assertEquals("[EventInfo([TraceInfo(Name=test)],PID=2468,Events=None)]", result
);
169 * Run the String toString() method test.
172 public void testToString_2() {
173 String result
= fUstProviderInfo2
.toString();
174 assertEquals("[EventInfo([TraceInfo(Name=myUST2)],PID=2345,Events=[BaseEventInfo([TraceInfo(Name=event1)]," +
175 "type=UNKNOWN,level=TRACE_DEBUG,Fields=[FieldInfo([TraceInfo(Name=intfield)],type=int[FieldInfo" +
176 "([TraceInfo(Name=stringfield)],type=string,Filter=intField==10)][BaseEventInfo([TraceInfo(Name=event2)]," +
177 "type=TRACEPOINT,level=TRACE_DEBUG)])]", result
);
180 // ------------------------------------------------------------------------
182 // ------------------------------------------------------------------------
184 public void testEqualsReflexivity() {
185 assertTrue("equals", fUstProviderInfo1
.equals(fUstProviderInfo1
));
186 assertTrue("equals", fUstProviderInfo2
.equals(fUstProviderInfo2
));
188 assertTrue("equals", !fUstProviderInfo1
.equals(fUstProviderInfo2
));
189 assertTrue("equals", !fUstProviderInfo2
.equals(fUstProviderInfo1
));
192 public void testEqualsSymmetry() {
193 UstProviderInfo event1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
194 UstProviderInfo event2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo2
);
196 assertTrue("equals", event1
.equals(fUstProviderInfo1
));
197 assertTrue("equals", fUstProviderInfo1
.equals(event1
));
199 assertTrue("equals", event2
.equals(fUstProviderInfo2
));
200 assertTrue("equals", fUstProviderInfo2
.equals(event2
));
203 public void testEqualsTransivity() {
204 UstProviderInfo UstProvider1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
205 UstProviderInfo UstProvider2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
206 UstProviderInfo UstProvider3
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
208 assertTrue("equals", UstProvider1
.equals(UstProvider2
));
209 assertTrue("equals", UstProvider2
.equals(UstProvider3
));
210 assertTrue("equals", UstProvider1
.equals(UstProvider3
));
213 public void testEqualsNull() {
214 assertTrue("equals", !fUstProviderInfo1
.equals(null));
215 assertTrue("equals", !fUstProviderInfo2
.equals(null));
218 // ------------------------------------------------------------------------
220 // ------------------------------------------------------------------------
222 public void testHashCode() {
223 UstProviderInfo UstProvider1
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo1
);
224 UstProviderInfo UstProvider2
= new UstProviderInfo((UstProviderInfo
)fUstProviderInfo2
);
226 assertTrue("hashCode", fUstProviderInfo1
.hashCode() == UstProvider1
.hashCode());
227 assertTrue("hashCode", fUstProviderInfo2
.hashCode() == UstProvider2
.hashCode());
229 assertTrue("hashCode", fUstProviderInfo1
.hashCode() != UstProvider2
.hashCode());
230 assertTrue("hashCode", fUstProviderInfo2
.hashCode() != UstProvider1
.hashCode());