Add support for filter feature of LTTng Tools 2.1
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.core.tests / src / org / eclipse / linuxtools / lttng2 / core / tests / control / model / impl / UstProviderInfoTest.java
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.lttng2.core.tests.control.model.impl;
13
14 import java.util.LinkedList;
15 import java.util.List;
16
17 import junit.framework.TestCase;
18
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;
23
24 /**
25 * The class <code>ChannelInfoTest</code> contains tests for the class <code>{@link UstProviderInfo}</code>.
26 *
27 */
28 @SuppressWarnings({"nls", "javadoc"})
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 fEventInfo2 = 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();
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);
178 }
179
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 }
191
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 }
202
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 }
212
213 public void testEqualsNull() {
214 assertTrue("equals", !fUstProviderInfo1.equals(null));
215 assertTrue("equals", !fUstProviderInfo2.equals(null));
216 }
217
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 }
This page took 0.04355 seconds and 5 git commands to generate.