Commit | Line | Data |
---|---|---|
eb1bab5b BH |
1 | /********************************************************************** |
2 | * Copyright (c) 2012 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 BH |
10 | * Bernd Hufmann - Initial API and implementation |
11 | **********************************************************************/ | |
9315aeee | 12 | package org.eclipse.linuxtools.lttng2.core.tests.control.model.impl; |
eb1bab5b BH |
13 | |
14 | import java.util.LinkedList; | |
15 | import java.util.List; | |
16 | ||
17 | import junit.framework.TestCase; | |
18 | ||
9315aeee BH |
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; | |
eb1bab5b BH |
23 | |
24 | /** | |
25 | * The class <code>ChannelInfoTest</code> contains tests for the class <code>{@link UstProviderInfo}</code>. | |
26 | * | |
27 | */ | |
b0318660 | 28 | @SuppressWarnings({"nls", "javadoc"}) |
eb1bab5b BH |
29 | public class UstProviderInfoTest extends TestCase { |
30 | // ------------------------------------------------------------------------ | |
31 | // Test data | |
32 | // ------------------------------------------------------------------------ | |
33 | private IUstProviderInfo fUstProviderInfo1 = null; | |
34 | private IUstProviderInfo fUstProviderInfo2 = null; | |
b0318660 | 35 | |
eb1bab5b BH |
36 | private IBaseEventInfo fEventInfo1 = null; |
37 | private IBaseEventInfo fEventInfo2 = null; | |
b0318660 | 38 | |
eb1bab5b BH |
39 | // ------------------------------------------------------------------------ |
40 | // Housekeeping | |
41 | // ------------------------------------------------------------------------ | |
b0318660 | 42 | |
eb1bab5b BH |
43 | /** |
44 | * Perform pre-test initialization. | |
45 | * | |
46 | * @throws Exception | |
47 | * if the initialization fails for some reason | |
48 | * | |
49 | */ | |
50 | @Override | |
51 | public void setUp() { | |
52 | ModelImplFactory factory = new ModelImplFactory(); | |
53 | fUstProviderInfo1 = factory.getUstProviderInfo1(); | |
54 | fUstProviderInfo2 = factory.getUstProviderInfo2(); | |
55 | fEventInfo1 = factory.getBaseEventInfo1(); | |
1f2f091b | 56 | fEventInfo2 = factory.getBaseEventInfo2(); |
eb1bab5b BH |
57 | } |
58 | ||
59 | /** | |
60 | * Perform post-test clean-up. | |
61 | * | |
62 | * @throws Exception | |
63 | * if the clean-up fails for some reason | |
64 | * | |
65 | */ | |
66 | @Override | |
67 | public void tearDown() { | |
68 | } | |
69 | ||
70 | // ------------------------------------------------------------------------ | |
71 | // Tests | |
72 | // ------------------------------------------------------------------------ | |
b0318660 | 73 | |
eb1bab5b BH |
74 | // ------------------------------------------------------------------------ |
75 | // Constructors | |
76 | // ------------------------------------------------------------------------ | |
77 | ||
78 | /** | |
79 | * Run the UstProviderInfo() constructor test. | |
80 | * | |
81 | */ | |
82 | public void testUstProviderInfo() { | |
83 | IUstProviderInfo result = new UstProviderInfo("test"); | |
84 | assertNotNull(result); | |
b0318660 | 85 | |
eb1bab5b BH |
86 | assertEquals("test", result.getName()); |
87 | assertEquals(0, result.getPid()); | |
88 | assertEquals(0, result.getEvents().length); | |
89 | } | |
90 | ||
91 | public void testUstProviderInfoCopy() { | |
92 | IUstProviderInfo providerInf = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
b0318660 | 93 | |
eb1bab5b BH |
94 | assertEquals(fUstProviderInfo1.getName(), providerInf.getName()); |
95 | assertEquals(fUstProviderInfo1.getPid(), providerInf.getPid()); | |
96 | assertEquals(fUstProviderInfo1.getEvents().length, providerInf.getEvents().length); | |
b0318660 | 97 | |
eb1bab5b BH |
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]); | |
102 | } | |
103 | } | |
104 | ||
105 | public void testUstProviderCopy2() { | |
106 | try { | |
107 | UstProviderInfo providerInfo = null; | |
108 | new UstProviderInfo(providerInfo); | |
109 | fail("null copy"); | |
110 | } | |
111 | catch (IllegalArgumentException e) { | |
112 | // Success | |
113 | } | |
114 | } | |
115 | ||
116 | /** | |
117 | * Run the IEventInfo[] getEvents() method test. | |
118 | * | |
119 | */ | |
120 | public void testGetAndSetters() { | |
121 | IUstProviderInfo fixture = new UstProviderInfo("test"); | |
122 | fixture.setPid(2468); | |
b0318660 | 123 | |
eb1bab5b BH |
124 | // add an event |
125 | IBaseEventInfo event = new BaseEventInfo("event"); | |
126 | fixture.addEvent(event); | |
127 | ||
128 | // Verify the stored events | |
129 | IBaseEventInfo[] result = fixture.getEvents(); | |
130 | ||
131 | assertNotNull(result); | |
132 | assertEquals(1, result.length); | |
133 | assertNotNull(result[0]); | |
134 | assertTrue(event.equals(result[0])); | |
b0318660 | 135 | |
eb1bab5b BH |
136 | assertEquals(2468, fixture.getPid()); |
137 | } | |
138 | ||
139 | /** | |
140 | * Run the void setEvents(List<IBaseEventInfo>) method test. | |
141 | * | |
142 | */ | |
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); | |
b0318660 | 150 | |
eb1bab5b | 151 | IBaseEventInfo[] infos = fixture.getEvents(); |
b0318660 | 152 | |
eb1bab5b | 153 | assertEquals(events.size(), infos.length); |
b0318660 | 154 | |
eb1bab5b BH |
155 | for (int i = 0; i < infos.length; i++) { |
156 | assertEquals(events.get(i), infos[i]); | |
157 | } | |
158 | } | |
159 | ||
160 | public void testToString_1() { | |
161 | UstProviderInfo fixture = new UstProviderInfo("test"); | |
162 | fixture.setPid(2468); | |
163 | String result = fixture.toString(); | |
164 | ||
165 | assertEquals("[EventInfo([TraceInfo(Name=test)],PID=2468,Events=None)]", result); | |
166 | } | |
167 | ||
168 | /** | |
169 | * Run the String toString() method test. | |
170 | * | |
171 | */ | |
172 | public void testToString_2() { | |
173 | String result = fUstProviderInfo2.toString(); | |
d4514365 BH |
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); | |
eb1bab5b | 178 | } |
b0318660 | 179 | |
eb1bab5b BH |
180 | // ------------------------------------------------------------------------ |
181 | // equals | |
182 | // ------------------------------------------------------------------------ | |
183 | ||
184 | public void testEqualsReflexivity() { | |
185 | assertTrue("equals", fUstProviderInfo1.equals(fUstProviderInfo1)); | |
186 | assertTrue("equals", fUstProviderInfo2.equals(fUstProviderInfo2)); | |
187 | ||
188 | assertTrue("equals", !fUstProviderInfo1.equals(fUstProviderInfo2)); | |
189 | assertTrue("equals", !fUstProviderInfo2.equals(fUstProviderInfo1)); | |
190 | } | |
b0318660 | 191 | |
eb1bab5b BH |
192 | public void testEqualsSymmetry() { |
193 | UstProviderInfo event1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
194 | UstProviderInfo event2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2); | |
195 | ||
196 | assertTrue("equals", event1.equals(fUstProviderInfo1)); | |
197 | assertTrue("equals", fUstProviderInfo1.equals(event1)); | |
198 | ||
199 | assertTrue("equals", event2.equals(fUstProviderInfo2)); | |
200 | assertTrue("equals", fUstProviderInfo2.equals(event2)); | |
201 | } | |
b0318660 | 202 | |
eb1bab5b BH |
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); | |
207 | ||
208 | assertTrue("equals", UstProvider1.equals(UstProvider2)); | |
209 | assertTrue("equals", UstProvider2.equals(UstProvider3)); | |
210 | assertTrue("equals", UstProvider1.equals(UstProvider3)); | |
211 | } | |
b0318660 | 212 | |
ea21cd65 | 213 | public void testEqualsNull() { |
eb1bab5b BH |
214 | assertTrue("equals", !fUstProviderInfo1.equals(null)); |
215 | assertTrue("equals", !fUstProviderInfo2.equals(null)); | |
216 | } | |
b0318660 | 217 | |
eb1bab5b BH |
218 | // ------------------------------------------------------------------------ |
219 | // hashCode | |
220 | // ------------------------------------------------------------------------ | |
221 | ||
222 | public void testHashCode() { | |
223 | UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
224 | UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2); | |
225 | ||
226 | assertTrue("hashCode", fUstProviderInfo1.hashCode() == UstProvider1.hashCode()); | |
227 | assertTrue("hashCode", fUstProviderInfo2.hashCode() == UstProvider2.hashCode()); | |
228 | ||
229 | assertTrue("hashCode", fUstProviderInfo1.hashCode() != UstProvider2.hashCode()); | |
230 | assertTrue("hashCode", fUstProviderInfo2.hashCode() != UstProvider1.hashCode()); | |
231 | } | |
232 | } |