lttng: Port unit tests to JUnit4
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.core.tests / src / org / eclipse / linuxtools / lttng2 / core / tests / control / model / impl / DomainInfoTest.java
CommitLineData
eb1bab5b 1/**********************************************************************
2ba3d0a1 2 * Copyright (c) 2012, 2013 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
9315aeee 14package org.eclipse.linuxtools.lttng2.core.tests.control.model.impl;
eb1bab5b 15
2ba3d0a1
AM
16import static org.junit.Assert.*;
17
eb1bab5b
BH
18import java.util.LinkedList;
19import java.util.List;
20
9315aeee
BH
21import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
22import org.eclipse.linuxtools.internal.lttng2.core.control.model.IDomainInfo;
23import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.DomainInfo;
2ba3d0a1
AM
24import org.junit.Before;
25import org.junit.Test;
eb1bab5b
BH
26
27/**
2ba3d0a1
AM
28 * The class <code>ChannelInfoTest</code> contains tests for the class
29 * <code>{@link DomainInfo}</code>.
eb1bab5b 30 */
2ba3d0a1
AM
31@SuppressWarnings("nls")
32public class DomainInfoTest {
33
eb1bab5b
BH
34 // ------------------------------------------------------------------------
35 // Test data
36 // ------------------------------------------------------------------------
2ba3d0a1 37
eb1bab5b
BH
38 private IDomainInfo fDomainInfo1 = null;
39 private IDomainInfo fDomainInfo2 = null;
40 private IChannelInfo fChannelInfo1 = null;
41 private IChannelInfo fChannelInfo2 = null;
42
43 // ------------------------------------------------------------------------
44 // Housekeeping
45 // ------------------------------------------------------------------------
b0318660 46
eb1bab5b
BH
47 /**
48 * Perform pre-test initialization.
eb1bab5b 49 */
2ba3d0a1 50 @Before
eb1bab5b
BH
51 public void setUp() {
52 // Get test instances from the factory
53 ModelImplFactory factory = new ModelImplFactory();
54 fChannelInfo1 = factory.getChannel1();
55 fChannelInfo2 = factory.getChannel2();
56 fDomainInfo1 = factory.getDomainInfo1();
57 fDomainInfo2 = factory.getDomainInfo2();
58 }
59
eb1bab5b
BH
60 // ------------------------------------------------------------------------
61 // Tests
62 // ------------------------------------------------------------------------
b0318660 63
eb1bab5b
BH
64 // ------------------------------------------------------------------------
65 // Constructors
66 // ------------------------------------------------------------------------
67
68 /**
69 * Run the ChannelInfo() constructor test.
eb1bab5b 70 */
2ba3d0a1 71 @Test
eb1bab5b
BH
72 public void testDomainInfo() {
73 DomainInfo result = new DomainInfo("test");
74 assertNotNull(result);
b0318660 75
eb1bab5b
BH
76 assertEquals("test", result.getName());
77 assertEquals(0, result.getChannels().length);
78 }
79
2ba3d0a1
AM
80 /**
81 * Test the copy constructor.
82 */
83 @Test
eb1bab5b
BH
84 public void testDomainInfoCopy() {
85 DomainInfo channelInfo = new DomainInfo((DomainInfo)fDomainInfo1);
86 IChannelInfo[] orignalEvents = fDomainInfo1.getChannels();
87 IChannelInfo[] resultEvents = channelInfo.getChannels();
88 for (int i = 0; i < orignalEvents.length; i++) {
89 assertEquals(orignalEvents[i], resultEvents[i]);
90 }
91 }
92
2ba3d0a1
AM
93 /**
94 * Test the copy constructor.
95 */
96 @Test
eb1bab5b
BH
97 public void testDomainlCopy2() {
98 try {
99 DomainInfo domain = null;
100 new DomainInfo(domain);
101 fail("null copy");
102 }
103 catch (IllegalArgumentException e) {
104 // Success
105 }
106 }
107
108 /**
109 * Run the long getNumberOfSubBuffers() method test.
eb1bab5b 110 */
2ba3d0a1 111 @Test
eb1bab5b 112 public void testGetAndSetters() {
b0318660 113
eb1bab5b
BH
114 // Note that addChannel() has been executed in setUp()
115 // check get method here
116 assertEquals(1, fDomainInfo1.getChannels().length);
117 assertNotNull(fDomainInfo1.getChannels()[0]);
118 assertEquals(fChannelInfo1, fDomainInfo1.getChannels()[0]);
b0318660 119
eb1bab5b
BH
120 IDomainInfo domain = new DomainInfo("domain");
121 List<IChannelInfo> list = new LinkedList<IChannelInfo>();
122 list.add(fChannelInfo1);
123 list.add(fChannelInfo2);
124 domain.setChannels(list);
b0318660 125
eb1bab5b
BH
126 IChannelInfo[] result = domain.getChannels();
127 assertEquals(2, result.length);
128 assertEquals(fChannelInfo1, result[0]);
129 assertEquals(fChannelInfo2, result[1]);
130 }
131
2ba3d0a1
AM
132 /**
133 * Run the String toString() method test.
134 */
135 @Test
eb1bab5b
BH
136 public void testToString_1() {
137 DomainInfo fixture = new DomainInfo("domain");
138
139 String result = fixture.toString();
140
9d8a90ad 141 assertEquals("[DomainInfo([TraceInfo(Name=domain)],Channels=None,isKernel=false)]", result);
eb1bab5b
BH
142 }
143
144 /**
145 * Run the String toString() method test.
eb1bab5b 146 */
2ba3d0a1 147 @Test
eb1bab5b
BH
148 public void testToString_2() {
149 String result = fDomainInfo1.toString();
150
9d8a90ad 151 assertEquals("[DomainInfo([TraceInfo(Name=test1)],Channels=[ChannelInfo([TraceInfo(Name=channel1)],State=DISABLED,OverwriteMode=true,SubBuffersSize=13,NumberOfSubBuffers=12,SwitchTimer=10,ReadTimer=11,output=splice(),Events=[EventInfo([BaseEventInfo([TraceInfo(Name=event1)],type=TRACEPOINT,level=TRACE_DEBUG)],State=ENABLED)])],isKernel=false)]", result);
eb1bab5b 152 }
b0318660 153
eb1bab5b
BH
154 // ------------------------------------------------------------------------
155 // equals
156 // ------------------------------------------------------------------------
157
2ba3d0a1
AM
158 /**
159 * Run the equals() method test.
160 */
161 @Test
eb1bab5b
BH
162 public void testEqualsReflexivity() {
163 assertTrue("equals", fDomainInfo1.equals(fDomainInfo1));
164 assertTrue("equals", fDomainInfo2.equals(fDomainInfo2));
165
166 assertTrue("equals", !fDomainInfo1.equals(fDomainInfo2));
167 assertTrue("equals", !fDomainInfo2.equals(fDomainInfo1));
168 }
b0318660 169
2ba3d0a1
AM
170 /**
171 * Run the equals() method test.
172 */
173 @Test
eb1bab5b
BH
174 public void testEqualsSymmetry() {
175 DomainInfo event1 = new DomainInfo((DomainInfo)fDomainInfo1);
176 DomainInfo event2 = new DomainInfo((DomainInfo)fDomainInfo2);
177
178 assertTrue("equals", event1.equals(fDomainInfo1));
179 assertTrue("equals", fDomainInfo1.equals(event1));
180
181 assertTrue("equals", event2.equals(fDomainInfo2));
182 assertTrue("equals", fDomainInfo2.equals(event2));
183 }
b0318660 184
2ba3d0a1
AM
185 /**
186 * Run the equals() method test.
187 */
188 @Test
eb1bab5b
BH
189 public void testEqualsTransivity() {
190 DomainInfo channel1 = new DomainInfo((DomainInfo)fDomainInfo1);
191 DomainInfo channel2 = new DomainInfo((DomainInfo)fDomainInfo1);
192 DomainInfo channel3 = new DomainInfo((DomainInfo)fDomainInfo1);
193
194 assertTrue("equals", channel1.equals(channel2));
195 assertTrue("equals", channel2.equals(channel3));
196 assertTrue("equals", channel1.equals(channel3));
197 }
b0318660 198
2ba3d0a1
AM
199 /**
200 * Run the equals() method test.
201 */
202 @Test
ea21cd65 203 public void testEqualsNull() {
eb1bab5b
BH
204 assertTrue("equals", !fDomainInfo1.equals(null));
205 assertTrue("equals", !fDomainInfo2.equals(null));
206 }
b0318660 207
eb1bab5b
BH
208 // ------------------------------------------------------------------------
209 // hashCode
210 // ------------------------------------------------------------------------
211
2ba3d0a1
AM
212 /**
213 * Run the hashCode() method test.
214 */
215 @Test
eb1bab5b
BH
216 public void testHashCode() {
217 DomainInfo channel1 = new DomainInfo((DomainInfo)fDomainInfo1);
218 DomainInfo channel2 = new DomainInfo((DomainInfo)fDomainInfo2);
219
220 assertTrue("hashCode", fDomainInfo1.hashCode() == channel1.hashCode());
221 assertTrue("hashCode", fDomainInfo2.hashCode() == channel2.hashCode());
222
223 assertTrue("hashCode", fDomainInfo1.hashCode() != channel2.hashCode());
224 assertTrue("hashCode", fDomainInfo2.hashCode() != channel1.hashCode());
225 }
226}
This page took 0.052213 seconds and 5 git commands to generate.