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
CommitLineData
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 12package org.eclipse.linuxtools.lttng2.core.tests.control.model.impl;
eb1bab5b
BH
13
14import java.util.LinkedList;
15import java.util.List;
16
17import junit.framework.TestCase;
18
9315aeee
BH
19import org.eclipse.linuxtools.internal.lttng2.core.control.model.IBaseEventInfo;
20import org.eclipse.linuxtools.internal.lttng2.core.control.model.IUstProviderInfo;
21import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.BaseEventInfo;
22import 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
29public 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}
This page took 0.053469 seconds and 5 git commands to generate.