Commit | Line | Data |
---|---|---|
eb1bab5b BH |
1 | /********************************************************************** |
2 | * Copyright (c) 2012 Ericsson | |
3 | * | |
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 | |
8 | * | |
9 | * Contributors: | |
10 | * Bernd Hufmann - Initial API and implementation | |
11 | **********************************************************************/ | |
12 | package org.eclipse.linuxtools.lttng.ui.tests.control.model.impl; | |
13 | ||
14 | import java.util.LinkedList; | |
15 | import java.util.List; | |
16 | ||
17 | import junit.framework.TestCase; | |
18 | ||
31a6a4e4 BH |
19 | import org.eclipse.linuxtools.internal.lttng.ui.views.control.model.IBaseEventInfo; |
20 | import org.eclipse.linuxtools.internal.lttng.ui.views.control.model.IUstProviderInfo; | |
21 | import org.eclipse.linuxtools.internal.lttng.ui.views.control.model.impl.BaseEventInfo; | |
22 | import org.eclipse.linuxtools.internal.lttng.ui.views.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 | */ | |
28 | @SuppressWarnings("nls") | |
29 | public class UstProviderInfoTest extends TestCase { | |
30 | // ------------------------------------------------------------------------ | |
31 | // Test data | |
32 | // ------------------------------------------------------------------------ | |
33 | private IUstProviderInfo fUstProviderInfo1 = null; | |
34 | private IUstProviderInfo fUstProviderInfo2 = null; | |
35 | ||
36 | private IBaseEventInfo fEventInfo1 = null; | |
37 | private IBaseEventInfo fEventInfo2 = null; | |
38 | ||
39 | // ------------------------------------------------------------------------ | |
40 | // Housekeeping | |
41 | // ------------------------------------------------------------------------ | |
42 | ||
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(); | |
56 | fEventInfo1 = factory.getBaseEventInfo2(); | |
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 | // ------------------------------------------------------------------------ | |
73 | ||
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); | |
85 | ||
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); | |
93 | ||
94 | assertEquals(fUstProviderInfo1.getName(), providerInf.getName()); | |
95 | assertEquals(fUstProviderInfo1.getPid(), providerInf.getPid()); | |
96 | assertEquals(fUstProviderInfo1.getEvents().length, providerInf.getEvents().length); | |
97 | ||
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); | |
123 | ||
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])); | |
135 | ||
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); | |
150 | ||
151 | IBaseEventInfo[] infos = fixture.getEvents(); | |
152 | ||
153 | assertEquals(events.size(), infos.length); | |
154 | ||
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(); | |
4775bcbf | 174 | assertEquals("[EventInfo([TraceInfo(Name=myUST2)],PID=2345,Events=[BaseEventInfo([TraceInfo(Name=event1)],type=UNKNOWN,level=TRACE_DEBUG)][BaseEventInfo([TraceInfo(Name=event2)],type=TRACEPOINT,level=TRACE_DEBUG)])]", result); |
eb1bab5b BH |
175 | } |
176 | ||
177 | // ------------------------------------------------------------------------ | |
178 | // equals | |
179 | // ------------------------------------------------------------------------ | |
180 | ||
181 | public void testEqualsReflexivity() { | |
182 | assertTrue("equals", fUstProviderInfo1.equals(fUstProviderInfo1)); | |
183 | assertTrue("equals", fUstProviderInfo2.equals(fUstProviderInfo2)); | |
184 | ||
185 | assertTrue("equals", !fUstProviderInfo1.equals(fUstProviderInfo2)); | |
186 | assertTrue("equals", !fUstProviderInfo2.equals(fUstProviderInfo1)); | |
187 | } | |
188 | ||
189 | public void testEqualsSymmetry() { | |
190 | UstProviderInfo event1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
191 | UstProviderInfo event2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2); | |
192 | ||
193 | assertTrue("equals", event1.equals(fUstProviderInfo1)); | |
194 | assertTrue("equals", fUstProviderInfo1.equals(event1)); | |
195 | ||
196 | assertTrue("equals", event2.equals(fUstProviderInfo2)); | |
197 | assertTrue("equals", fUstProviderInfo2.equals(event2)); | |
198 | } | |
199 | ||
200 | public void testEqualsTransivity() { | |
201 | UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
202 | UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
203 | UstProviderInfo UstProvider3 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
204 | ||
205 | assertTrue("equals", UstProvider1.equals(UstProvider2)); | |
206 | assertTrue("equals", UstProvider2.equals(UstProvider3)); | |
207 | assertTrue("equals", UstProvider1.equals(UstProvider3)); | |
208 | } | |
209 | ||
210 | public void testEqualsNull() throws Exception { | |
211 | assertTrue("equals", !fUstProviderInfo1.equals(null)); | |
212 | assertTrue("equals", !fUstProviderInfo2.equals(null)); | |
213 | } | |
214 | ||
215 | // ------------------------------------------------------------------------ | |
216 | // hashCode | |
217 | // ------------------------------------------------------------------------ | |
218 | ||
219 | public void testHashCode() { | |
220 | UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1); | |
221 | UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2); | |
222 | ||
223 | assertTrue("hashCode", fUstProviderInfo1.hashCode() == UstProvider1.hashCode()); | |
224 | assertTrue("hashCode", fUstProviderInfo2.hashCode() == UstProvider2.hashCode()); | |
225 | ||
226 | assertTrue("hashCode", fUstProviderInfo1.hashCode() != UstProvider2.hashCode()); | |
227 | assertTrue("hashCode", fUstProviderInfo2.hashCode() != UstProvider1.hashCode()); | |
228 | } | |
229 | } |