lttng: Rename lttng2 feature/plugins to lttng2.control
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.control.core.tests / src / org / eclipse / linuxtools / lttng2 / control / core / tests / model / impl / UstProviderInfoTest.java
CommitLineData
eb1bab5b 1/**********************************************************************
60ae41e1 2 * Copyright (c) 2012, 2014 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 10 * Bernd Hufmann - Initial API and implementation
2ba3d0a1 11 * Alexandre Montplaisir - Port to JUnit4
eb1bab5b 12 **********************************************************************/
2ba3d0a1 13
8e8c0226 14package org.eclipse.linuxtools.lttng2.control.core.tests.model.impl;
eb1bab5b 15
2ba3d0a1
AM
16import static org.junit.Assert.*;
17
eb1bab5b
BH
18import java.util.LinkedList;
19import java.util.List;
20
8e8c0226
AM
21import org.eclipse.linuxtools.internal.lttng2.control.core.model.IBaseEventInfo;
22import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
23import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BaseEventInfo;
24import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.UstProviderInfo;
2ba3d0a1
AM
25import org.junit.Before;
26import org.junit.Test;
eb1bab5b
BH
27
28/**
2ba3d0a1
AM
29 * The class <code>ChannelInfoTest</code> contains tests for the class
30 * <code>{@link UstProviderInfo}</code>.
eb1bab5b 31 */
2ba3d0a1
AM
32public class UstProviderInfoTest {
33
eb1bab5b
BH
34 // ------------------------------------------------------------------------
35 // Test data
36 // ------------------------------------------------------------------------
2ba3d0a1 37
eb1bab5b
BH
38 private IUstProviderInfo fUstProviderInfo1 = null;
39 private IUstProviderInfo fUstProviderInfo2 = null;
b0318660 40
eb1bab5b
BH
41 private IBaseEventInfo fEventInfo1 = null;
42 private IBaseEventInfo fEventInfo2 = null;
b0318660 43
eb1bab5b
BH
44 // ------------------------------------------------------------------------
45 // Housekeeping
46 // ------------------------------------------------------------------------
b0318660 47
eb1bab5b
BH
48 /**
49 * Perform pre-test initialization.
eb1bab5b 50 */
2ba3d0a1 51 @Before
eb1bab5b
BH
52 public void setUp() {
53 ModelImplFactory factory = new ModelImplFactory();
54 fUstProviderInfo1 = factory.getUstProviderInfo1();
55 fUstProviderInfo2 = factory.getUstProviderInfo2();
56 fEventInfo1 = factory.getBaseEventInfo1();
1f2f091b 57 fEventInfo2 = factory.getBaseEventInfo2();
eb1bab5b
BH
58 }
59
eb1bab5b
BH
60 // ------------------------------------------------------------------------
61 // Tests
62 // ------------------------------------------------------------------------
b0318660 63
eb1bab5b
BH
64 // ------------------------------------------------------------------------
65 // Constructors
66 // ------------------------------------------------------------------------
67
68 /**
69 * Run the UstProviderInfo() constructor test.
eb1bab5b 70 */
2ba3d0a1 71 @Test
eb1bab5b
BH
72 public void testUstProviderInfo() {
73 IUstProviderInfo result = new UstProviderInfo("test");
74 assertNotNull(result);
b0318660 75
eb1bab5b
BH
76 assertEquals("test", result.getName());
77 assertEquals(0, result.getPid());
78 assertEquals(0, result.getEvents().length);
79 }
80
2ba3d0a1
AM
81 /**
82 * Test the copy constructor.
83 */
84 @Test
eb1bab5b
BH
85 public void testUstProviderInfoCopy() {
86 IUstProviderInfo providerInf = new UstProviderInfo((UstProviderInfo)fUstProviderInfo1);
b0318660 87
eb1bab5b
BH
88 assertEquals(fUstProviderInfo1.getName(), providerInf.getName());
89 assertEquals(fUstProviderInfo1.getPid(), providerInf.getPid());
90 assertEquals(fUstProviderInfo1.getEvents().length, providerInf.getEvents().length);
b0318660 91
eb1bab5b
BH
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
2ba3d0a1
AM
99 /**
100 * Test the copy constructor.
101 */
102 @Test
eb1bab5b
BH
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.
eb1bab5b 116 */
2ba3d0a1 117 @Test
eb1bab5b
BH
118 public void testGetAndSetters() {
119 IUstProviderInfo fixture = new UstProviderInfo("test");
120 fixture.setPid(2468);
b0318660 121
eb1bab5b
BH
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]));
b0318660 133
eb1bab5b
BH
134 assertEquals(2468, fixture.getPid());
135 }
136
137 /**
138 * Run the void setEvents(List<IBaseEventInfo>) method test.
eb1bab5b 139 */
2ba3d0a1 140 @Test
eb1bab5b
BH
141 public void testSetEvents_1() {
142 UstProviderInfo fixture = new UstProviderInfo("test");
143 fixture.setPid(2468);
e0838ca1 144 List<IBaseEventInfo> events = new LinkedList<>();
eb1bab5b
BH
145 events.add(fEventInfo1);
146 events.add(fEventInfo2);
147 fixture.setEvents(events);
b0318660 148
eb1bab5b 149 IBaseEventInfo[] infos = fixture.getEvents();
b0318660 150
eb1bab5b 151 assertEquals(events.size(), infos.length);
b0318660 152
eb1bab5b
BH
153 for (int i = 0; i < infos.length; i++) {
154 assertEquals(events.get(i), infos[i]);
155 }
156 }
157
2ba3d0a1
AM
158 /**
159 * Run the String toString() method test.
160 */
161 @Test
eb1bab5b
BH
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.
eb1bab5b 172 */
2ba3d0a1 173 @Test
eb1bab5b
BH
174 public void testToString_2() {
175 String result = fUstProviderInfo2.toString();
d4514365 176 assertEquals("[EventInfo([TraceInfo(Name=myUST2)],PID=2345,Events=[BaseEventInfo([TraceInfo(Name=event1)]," +
2ba3d0a1
AM
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);
eb1bab5b 180 }
b0318660 181
eb1bab5b
BH
182 // ------------------------------------------------------------------------
183 // equals
184 // ------------------------------------------------------------------------
185
2ba3d0a1
AM
186 /**
187 * Run the equals() method test.
188 */
189 @Test
eb1bab5b
BH
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 }
b0318660 197
2ba3d0a1
AM
198 /**
199 * Run the equals() method test.
200 */
201 @Test
eb1bab5b
BH
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 }
b0318660 212
2ba3d0a1
AM
213 /**
214 * Run the equals() method test.
215 */
216 @Test
eb1bab5b
BH
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 }
b0318660 226
2ba3d0a1
AM
227 /**
228 * Run the equals() method test.
229 */
230 @Test
ea21cd65 231 public void testEqualsNull() {
eb1bab5b
BH
232 assertTrue("equals", !fUstProviderInfo1.equals(null));
233 assertTrue("equals", !fUstProviderInfo2.equals(null));
234 }
b0318660 235
eb1bab5b
BH
236 // ------------------------------------------------------------------------
237 // hashCode
238 // ------------------------------------------------------------------------
239
2ba3d0a1
AM
240 /**
241 * Run the hashCode() method test.
242 */
243 @Test
eb1bab5b
BH
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.054657 seconds and 5 git commands to generate.