Commit | Line | Data |
---|---|---|
d18dd09b ASL |
1 | /******************************************************************************* |
2 | * Copyright (c) 2009 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 | * Francois Chouinard - Initial API and implementation | |
11 | *******************************************************************************/ | |
12 | ||
13 | package org.eclipse.linuxtools.tmf.tests.event; | |
14 | ||
cbd4ad82 FC |
15 | import junit.framework.TestCase; |
16 | ||
d18dd09b ASL |
17 | import org.eclipse.linuxtools.tmf.event.TmfEvent; |
18 | import org.eclipse.linuxtools.tmf.event.TmfEventContent; | |
19 | import org.eclipse.linuxtools.tmf.event.TmfEventReference; | |
20 | import org.eclipse.linuxtools.tmf.event.TmfEventSource; | |
21 | import org.eclipse.linuxtools.tmf.event.TmfEventType; | |
22 | import org.eclipse.linuxtools.tmf.event.TmfTimestamp; | |
23 | ||
24 | /** | |
25 | * <b><u>TmfEventTest</u></b> | |
26 | * <p> | |
cbd4ad82 | 27 | * Test suite for the TmfEvent class. |
d18dd09b ASL |
28 | */ |
29 | public class TmfEventTest extends TestCase { | |
30 | ||
cbd4ad82 FC |
31 | // ------------------------------------------------------------------------ |
32 | // Variables | |
33 | // ------------------------------------------------------------------------ | |
34 | ||
d18dd09b ASL |
35 | private final String fTypeId = "Some type"; |
36 | private final String fLabel0 = "label1"; | |
37 | private final String fLabel1 = "label2"; | |
38 | private final String[] fLabels = new String[] { fLabel0, fLabel1 }; | |
39 | ||
40 | private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5); | |
41 | private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5); | |
42 | private final TmfEventSource fSource = new TmfEventSource("Source"); | |
43 | private final TmfEventType fType = new TmfEventType(fTypeId, fLabels); | |
44 | private final TmfEventReference fReference = new TmfEventReference("Some reference"); | |
45 | ||
46 | private final TmfEvent fEvent1; | |
47 | private final TmfEvent fEvent2; | |
48 | ||
49 | private final TmfEventContent fContent1; | |
50 | private final TmfEventContent fContent2; | |
51 | ||
cbd4ad82 | 52 | // ------------------------------------------------------------------------ |
d18dd09b | 53 | // Housekeeping |
cbd4ad82 | 54 | // ------------------------------------------------------------------------ |
d18dd09b | 55 | |
cbd4ad82 FC |
56 | /** |
57 | * @param name the test name | |
58 | */ | |
d18dd09b ASL |
59 | public TmfEventTest(String name) { |
60 | super(name); | |
61 | ||
62 | fEvent1 = new TmfEvent(fTimestamp1, fSource, fType, fReference); | |
63 | fContent1 = new TmfEventContent(fEvent1, "Some content"); | |
64 | fEvent1.setContent(fContent1); | |
65 | ||
66 | fEvent2 = new TmfEvent(fTimestamp1, fTimestamp2, fSource, fType, fReference); | |
67 | fContent2 = new TmfEventContent(fEvent2, "Some other content"); | |
68 | fEvent2.setContent(fContent2); | |
69 | } | |
70 | ||
71 | @Override | |
72 | protected void setUp() throws Exception { | |
73 | super.setUp(); | |
74 | } | |
75 | ||
76 | @Override | |
77 | protected void tearDown() throws Exception { | |
78 | super.tearDown(); | |
79 | } | |
80 | ||
cbd4ad82 | 81 | // ------------------------------------------------------------------------ |
d18dd09b | 82 | // Constructors |
cbd4ad82 | 83 | // ------------------------------------------------------------------------ |
d18dd09b ASL |
84 | |
85 | public void testTmfEvent() { | |
86 | assertEquals("getTimestamp", fTimestamp1, fEvent1.getTimestamp()); | |
87 | assertEquals("getOriginalTimestamp", fTimestamp1, fEvent1.getOriginalTimestamp()); | |
88 | assertEquals("getSource", fSource, fEvent1.getSource()); | |
89 | assertEquals("getType", fType, fEvent1.getType()); | |
90 | assertEquals("getContent", fContent1, fEvent1.getContent()); | |
91 | assertEquals("getReference", fReference, fEvent1.getReference()); | |
92 | } | |
93 | ||
94 | public void testTmfEvent2() { | |
95 | assertEquals("getTimestamp", fTimestamp2, fEvent2.getTimestamp()); | |
96 | assertEquals("getOriginalTimestamp", fTimestamp1, fEvent2.getOriginalTimestamp()); | |
97 | assertEquals("getSource", fSource, fEvent2.getSource()); | |
98 | assertEquals("getType", fType, fEvent2.getType()); | |
99 | assertEquals("getContent", fContent2, fEvent2.getContent()); | |
100 | assertEquals("getReference", fReference, fEvent2.getReference()); | |
101 | } | |
102 | ||
cbd4ad82 FC |
103 | public void testTmfEventBadArgs() { |
104 | try { // Bad timestamp | |
105 | new TmfEvent(null, fSource, fType, fReference); | |
106 | fail("null copy"); | |
107 | } | |
108 | catch (IllegalArgumentException e) { | |
109 | // Success | |
110 | } | |
111 | ||
112 | try { // Bad source | |
113 | new TmfEvent(fTimestamp1, null, fType, fReference); | |
114 | fail("null copy"); | |
115 | } | |
116 | catch (IllegalArgumentException e) { | |
117 | // Success | |
118 | } | |
119 | ||
120 | try { // Bad type | |
121 | new TmfEvent(fTimestamp1, fSource, null, fReference); | |
122 | fail("null copy"); | |
123 | } | |
124 | catch (IllegalArgumentException e) { | |
125 | // Success | |
126 | } | |
127 | } | |
128 | ||
d18dd09b ASL |
129 | public void testTmfEventCopy() { |
130 | TmfEvent event = new TmfEvent(fEvent1); | |
131 | assertEquals("getTimestamp", fTimestamp1, event.getTimestamp()); | |
132 | assertEquals("getOriginalTimestamp", fTimestamp1, event.getOriginalTimestamp()); | |
133 | assertEquals("getSource", fSource, event.getSource()); | |
134 | assertEquals("getType", fType, event.getType()); | |
135 | assertEquals("getContent", fContent1, event.getContent()); | |
136 | assertEquals("getReference", fReference, event.getReference()); | |
137 | } | |
138 | ||
cbd4ad82 FC |
139 | public void testEventCopy2() throws Exception { |
140 | try { | |
141 | new TmfEvent(null); | |
142 | fail("null copy"); | |
143 | } | |
144 | catch (IllegalArgumentException e) { | |
145 | // Success | |
146 | } | |
147 | } | |
148 | ||
149 | // ------------------------------------------------------------------------ | |
150 | // equals | |
151 | // ------------------------------------------------------------------------ | |
152 | ||
153 | public void testEqualsReflexivity() throws Exception { | |
154 | assertTrue("equals", fEvent1.equals(fEvent1)); | |
155 | assertTrue("equals", fEvent2.equals(fEvent2)); | |
156 | ||
157 | assertTrue("equals", !fEvent1.equals(fEvent2)); | |
158 | assertTrue("equals", !fEvent2.equals(fEvent1)); | |
159 | } | |
160 | ||
161 | public void testEqualsSymmetry() throws Exception { | |
162 | TmfEvent event1 = new TmfEvent(fEvent1); | |
163 | TmfEvent event2 = new TmfEvent(fEvent2); | |
164 | ||
165 | assertTrue("equals", event1.equals(fEvent1)); | |
166 | assertTrue("equals", fEvent1.equals(event1)); | |
167 | ||
168 | assertTrue("equals", event2.equals(fEvent2)); | |
169 | assertTrue("equals", fEvent2.equals(event2)); | |
170 | } | |
171 | ||
172 | public void testEqualsTransivity() throws Exception { | |
173 | TmfEvent event1 = new TmfEvent(fEvent1); | |
174 | TmfEvent event2 = new TmfEvent(fEvent1); | |
175 | TmfEvent event3 = new TmfEvent(fEvent1); | |
176 | ||
177 | assertTrue("equals", event1.equals(event2)); | |
178 | assertTrue("equals", event2.equals(event3)); | |
179 | assertTrue("equals", event1.equals(event3)); | |
180 | } | |
181 | ||
182 | public void testEqualsConsistency() throws Exception { | |
183 | TmfEvent event1 = new TmfEvent(fEvent1); | |
184 | TmfEvent event2 = new TmfEvent(fEvent2); | |
185 | ||
186 | assertTrue("equals", event1.equals(fEvent1)); | |
187 | assertTrue("equals", event1.equals(fEvent1)); | |
188 | ||
189 | assertTrue("equals", event2.equals(fEvent2)); | |
190 | assertTrue("equals", event2.equals(fEvent2)); | |
191 | } | |
192 | ||
193 | public void testEqualsNull() throws Exception { | |
194 | assertTrue("equals", !fEvent1.equals(null)); | |
195 | assertTrue("equals", !fEvent2.equals(null)); | |
196 | } | |
197 | ||
198 | // ------------------------------------------------------------------------ | |
199 | // toString | |
200 | // ------------------------------------------------------------------------ | |
201 | ||
202 | public void testToString() { | |
203 | String expected1 = "[TmfEvent(" + fTimestamp1 + "," + fSource + "," + fType + "," + fContent1 + ")]"; | |
204 | assertEquals("toString", expected1, fEvent1.toString()); | |
205 | ||
206 | String expected2 = "[TmfEvent(" + fTimestamp2 + "," + fSource + "," + fType + "," + fContent2 + ")]"; | |
207 | assertEquals("toString", expected2, fEvent2.toString()); | |
208 | } | |
209 | ||
210 | // ------------------------------------------------------------------------ | |
211 | // setContent | |
212 | // ------------------------------------------------------------------------ | |
213 | ||
214 | public void testSetContent() { | |
215 | TmfEvent event = new TmfEvent(fEvent1); | |
216 | assertEquals("setContent", fContent1, event.getContent()); | |
217 | ||
218 | event.setContent(fContent2); | |
219 | assertEquals("setContent", fContent2, event.getContent()); | |
220 | ||
221 | event.setContent(fContent1); | |
222 | assertEquals("setContent", fContent1, event.getContent()); | |
223 | } | |
d18dd09b ASL |
224 | |
225 | } |