0099c8a564ab78982f2f31f8889ca05d1b2d6fd1
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.control.core.tests / src / org / eclipse / tracecompass / lttng2 / control / core / tests / model / impl / UstProviderInfoTest.java
1 /**********************************************************************
2 * Copyright (c) 2012, 2014 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 * Alexandre Montplaisir - Port to JUnit4
12 **********************************************************************/
13
14 package org.eclipse.tracecompass.lttng2.control.core.tests.model.impl;
15
16 import static org.junit.Assert.*;
17
18 import java.util.LinkedList;
19 import java.util.List;
20
21 import org.eclipse.tracecompass.internal.lttng2.control.core.model.IBaseEventInfo;
22 import org.eclipse.tracecompass.internal.lttng2.control.core.model.IUstProviderInfo;
23 import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.BaseEventInfo;
24 import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.UstProviderInfo;
25 import org.junit.Before;
26 import org.junit.Test;
27
28 /**
29 * The class <code>ChannelInfoTest</code> contains tests for the class
30 * <code>{@link UstProviderInfo}</code>.
31 */
32 public class UstProviderInfoTest {
33
34 // ------------------------------------------------------------------------
35 // Test data
36 // ------------------------------------------------------------------------
37
38 private IUstProviderInfo fUstProviderInfo1 = null;
39 private IUstProviderInfo fUstProviderInfo2 = null;
40
41 private IBaseEventInfo fEventInfo1 = null;
42 private IBaseEventInfo fEventInfo2 = null;
43
44 // ------------------------------------------------------------------------
45 // Housekeeping
46 // ------------------------------------------------------------------------
47
48 /**
49 * Perform pre-test initialization.
50 */
51 @Before
52 public void setUp() {
53 ModelImplFactory factory = new ModelImplFactory();
54 fUstProviderInfo1 = factory.getUstProviderInfo1();
55 fUstProviderInfo2 = factory.getUstProviderInfo2();
56 fEventInfo1 = factory.getBaseEventInfo1();
57 fEventInfo2 = factory.getBaseEventInfo2();
58 }
59
60 // ------------------------------------------------------------------------
61 // Tests
62 // ------------------------------------------------------------------------
63
64 // ------------------------------------------------------------------------
65 // Constructors
66 // ------------------------------------------------------------------------
67
68 /**
69 * Run the UstProviderInfo() constructor test.
70 */
71 @Test
72 public void testUstProviderInfo() {
73 IUstProviderInfo result = new UstProviderInfo("test");
74 assertNotNull(result);
75
76 assertEquals("test", result.getName());
77 assertEquals(0, result.getPid());
78 assertEquals(0, result.getEvents().length);
79 }
80
81 /**
82 * Test the copy constructor.
83 */
84 @Test
85 public void testUstProviderInfoCopy() {
86 IUstProviderInfo providerInf = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
87
88 assertEquals(fUstProviderInfo1.getName(), providerInf.getName());
89 assertEquals(fUstProviderInfo1.getPid(), providerInf.getPid());
90 assertEquals(fUstProviderInfo1.getEvents().length, providerInf.getEvents().length);
91
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]);
96 }
97 }
98
99 /**
100 * Test the copy constructor.
101 */
102 @Test
103 public void testUstProviderCopy2() {
104 try {
105 UstProviderInfo providerInfo = null;
106 new UstProviderInfo(providerInfo);
107 fail("null copy");
108 }
109 catch (IllegalArgumentException e) {
110 // Success
111 }
112 }
113
114 /**
115 * Run the IEventInfo[] getEvents() method test.
116 */
117 @Test
118 public void testGetAndSetters() {
119 IUstProviderInfo fixture = new UstProviderInfo("test");
120 fixture.setPid(2468);
121
122 // add an event
123 IBaseEventInfo event = new BaseEventInfo("event");
124 fixture.addEvent(event);
125
126 // Verify the stored events
127 IBaseEventInfo[] result = fixture.getEvents();
128
129 assertNotNull(result);
130 assertEquals(1, result.length);
131 assertNotNull(result[0]);
132 assertTrue(event.equals(result[0]));
133
134 assertEquals(2468, fixture.getPid());
135 }
136
137 /**
138 * Run the void setEvents(List<IBaseEventInfo>) method test.
139 */
140 @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);
148
149 IBaseEventInfo[] infos = fixture.getEvents();
150
151 assertEquals(events.size(), infos.length);
152
153 for (int i = 0; i < infos.length; i++) {
154 assertEquals(events.get(i), infos[i]);
155 }
156 }
157
158 /**
159 * Run the String toString() method test.
160 */
161 @Test
162 public void testToString_1() {
163 UstProviderInfo fixture = new UstProviderInfo("test");
164 fixture.setPid(2468);
165 String result = fixture.toString();
166
167 assertEquals("[EventInfo([TraceInfo(Name=test)],PID=2468,Events=None)]", result);
168 }
169
170 /**
171 * Run the String toString() method test.
172 */
173 @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);
180 }
181
182 // ------------------------------------------------------------------------
183 // equals
184 // ------------------------------------------------------------------------
185
186 /**
187 * Run the equals() method test.
188 */
189 @Test
190 public void testEqualsReflexivity() {
191 assertTrue("equals", fUstProviderInfo1.equals(fUstProviderInfo1));
192 assertTrue("equals", fUstProviderInfo2.equals(fUstProviderInfo2));
193
194 assertTrue("equals", !fUstProviderInfo1.equals(fUstProviderInfo2));
195 assertTrue("equals", !fUstProviderInfo2.equals(fUstProviderInfo1));
196 }
197
198 /**
199 * Run the equals() method test.
200 */
201 @Test
202 public void testEqualsSymmetry() {
203 UstProviderInfo event1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
204 UstProviderInfo event2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2);
205
206 assertTrue("equals", event1.equals(fUstProviderInfo1));
207 assertTrue("equals", fUstProviderInfo1.equals(event1));
208
209 assertTrue("equals", event2.equals(fUstProviderInfo2));
210 assertTrue("equals", fUstProviderInfo2.equals(event2));
211 }
212
213 /**
214 * Run the equals() method test.
215 */
216 @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);
221
222 assertTrue("equals", UstProvider1.equals(UstProvider2));
223 assertTrue("equals", UstProvider2.equals(UstProvider3));
224 assertTrue("equals", UstProvider1.equals(UstProvider3));
225 }
226
227 /**
228 * Run the equals() method test.
229 */
230 @Test
231 public void testEqualsNull() {
232 assertTrue("equals", !fUstProviderInfo1.equals(null));
233 assertTrue("equals", !fUstProviderInfo2.equals(null));
234 }
235
236 // ------------------------------------------------------------------------
237 // hashCode
238 // ------------------------------------------------------------------------
239
240 /**
241 * Run the hashCode() method test.
242 */
243 @Test
244 public void testHashCode() {
245 UstProviderInfo UstProvider1 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
246 UstProviderInfo UstProvider2 = new UstProviderInfo((UstProviderInfo)fUstProviderInfo2);
247
248 assertTrue("hashCode", fUstProviderInfo1.hashCode() == UstProvider1.hashCode());
249 assertTrue("hashCode", fUstProviderInfo2.hashCode() == UstProvider2.hashCode());
250
251 assertTrue("hashCode", fUstProviderInfo1.hashCode() != UstProvider2.hashCode());
252 assertTrue("hashCode", fUstProviderInfo2.hashCode() != UstProvider1.hashCode());
253 }
254 }
This page took 0.036732 seconds and 4 git commands to generate.