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 | 28 | */ |
3b38ea61 | 29 | @SuppressWarnings("nls") |
d18dd09b ASL |
30 | public class TmfEventTest extends TestCase { |
31 | ||
cbd4ad82 FC |
32 | // ------------------------------------------------------------------------ |
33 | // Variables | |
34 | // ------------------------------------------------------------------------ | |
35 | ||
d18dd09b ASL |
36 | private final String fTypeId = "Some type"; |
37 | private final String fLabel0 = "label1"; | |
38 | private final String fLabel1 = "label2"; | |
39 | private final String[] fLabels = new String[] { fLabel0, fLabel1 }; | |
40 | ||
41 | private final TmfTimestamp fTimestamp1 = new TmfTimestamp(12345, (byte) 2, 5); | |
42 | private final TmfTimestamp fTimestamp2 = new TmfTimestamp(12350, (byte) 2, 5); | |
43 | private final TmfEventSource fSource = new TmfEventSource("Source"); | |
44 | private final TmfEventType fType = new TmfEventType(fTypeId, fLabels); | |
45 | private final TmfEventReference fReference = new TmfEventReference("Some reference"); | |
46 | ||
47 | private final TmfEvent fEvent1; | |
48 | private final TmfEvent fEvent2; | |
49 | ||
50 | private final TmfEventContent fContent1; | |
51 | private final TmfEventContent fContent2; | |
52 | ||
cbd4ad82 | 53 | // ------------------------------------------------------------------------ |
d18dd09b | 54 | // Housekeeping |
cbd4ad82 | 55 | // ------------------------------------------------------------------------ |
d18dd09b | 56 | |
cbd4ad82 FC |
57 | /** |
58 | * @param name the test name | |
59 | */ | |
d18dd09b ASL |
60 | public TmfEventTest(String name) { |
61 | super(name); | |
62 | ||
63 | fEvent1 = new TmfEvent(fTimestamp1, fSource, fType, fReference); | |
64 | fContent1 = new TmfEventContent(fEvent1, "Some content"); | |
65 | fEvent1.setContent(fContent1); | |
66 | ||
67 | fEvent2 = new TmfEvent(fTimestamp1, fTimestamp2, fSource, fType, fReference); | |
68 | fContent2 = new TmfEventContent(fEvent2, "Some other content"); | |
69 | fEvent2.setContent(fContent2); | |
70 | } | |
71 | ||
72 | @Override | |
73 | protected void setUp() throws Exception { | |
74 | super.setUp(); | |
75 | } | |
76 | ||
77 | @Override | |
78 | protected void tearDown() throws Exception { | |
79 | super.tearDown(); | |
80 | } | |
81 | ||
cbd4ad82 | 82 | // ------------------------------------------------------------------------ |
d18dd09b | 83 | // Constructors |
cbd4ad82 | 84 | // ------------------------------------------------------------------------ |
d18dd09b ASL |
85 | |
86 | public void testTmfEvent() { | |
87 | assertEquals("getTimestamp", fTimestamp1, fEvent1.getTimestamp()); | |
88 | assertEquals("getOriginalTimestamp", fTimestamp1, fEvent1.getOriginalTimestamp()); | |
89 | assertEquals("getSource", fSource, fEvent1.getSource()); | |
90 | assertEquals("getType", fType, fEvent1.getType()); | |
91 | assertEquals("getContent", fContent1, fEvent1.getContent()); | |
92 | assertEquals("getReference", fReference, fEvent1.getReference()); | |
93 | } | |
94 | ||
95 | public void testTmfEvent2() { | |
96 | assertEquals("getTimestamp", fTimestamp2, fEvent2.getTimestamp()); | |
97 | assertEquals("getOriginalTimestamp", fTimestamp1, fEvent2.getOriginalTimestamp()); | |
98 | assertEquals("getSource", fSource, fEvent2.getSource()); | |
99 | assertEquals("getType", fType, fEvent2.getType()); | |
100 | assertEquals("getContent", fContent2, fEvent2.getContent()); | |
101 | assertEquals("getReference", fReference, fEvent2.getReference()); | |
102 | } | |
103 | ||
104 | public void testTmfEventCopy() { | |
105 | TmfEvent event = new TmfEvent(fEvent1); | |
106 | assertEquals("getTimestamp", fTimestamp1, event.getTimestamp()); | |
107 | assertEquals("getOriginalTimestamp", fTimestamp1, event.getOriginalTimestamp()); | |
108 | assertEquals("getSource", fSource, event.getSource()); | |
109 | assertEquals("getType", fType, event.getType()); | |
110 | assertEquals("getContent", fContent1, event.getContent()); | |
111 | assertEquals("getReference", fReference, event.getReference()); | |
112 | } | |
113 | ||
cbd4ad82 FC |
114 | public void testEventCopy2() throws Exception { |
115 | try { | |
116 | new TmfEvent(null); | |
117 | fail("null copy"); | |
118 | } | |
119 | catch (IllegalArgumentException e) { | |
120 | // Success | |
121 | } | |
122 | } | |
123 | ||
124 | // ------------------------------------------------------------------------ | |
125 | // equals | |
126 | // ------------------------------------------------------------------------ | |
127 | ||
128 | public void testEqualsReflexivity() throws Exception { | |
129 | assertTrue("equals", fEvent1.equals(fEvent1)); | |
130 | assertTrue("equals", fEvent2.equals(fEvent2)); | |
131 | ||
132 | assertTrue("equals", !fEvent1.equals(fEvent2)); | |
133 | assertTrue("equals", !fEvent2.equals(fEvent1)); | |
134 | } | |
135 | ||
136 | public void testEqualsSymmetry() throws Exception { | |
137 | TmfEvent event1 = new TmfEvent(fEvent1); | |
138 | TmfEvent event2 = new TmfEvent(fEvent2); | |
139 | ||
140 | assertTrue("equals", event1.equals(fEvent1)); | |
141 | assertTrue("equals", fEvent1.equals(event1)); | |
142 | ||
143 | assertTrue("equals", event2.equals(fEvent2)); | |
144 | assertTrue("equals", fEvent2.equals(event2)); | |
145 | } | |
146 | ||
147 | public void testEqualsTransivity() throws Exception { | |
148 | TmfEvent event1 = new TmfEvent(fEvent1); | |
149 | TmfEvent event2 = new TmfEvent(fEvent1); | |
150 | TmfEvent event3 = new TmfEvent(fEvent1); | |
151 | ||
152 | assertTrue("equals", event1.equals(event2)); | |
153 | assertTrue("equals", event2.equals(event3)); | |
154 | assertTrue("equals", event1.equals(event3)); | |
155 | } | |
156 | ||
cbd4ad82 FC |
157 | public void testEqualsNull() throws Exception { |
158 | assertTrue("equals", !fEvent1.equals(null)); | |
159 | assertTrue("equals", !fEvent2.equals(null)); | |
160 | } | |
161 | ||
162 | // ------------------------------------------------------------------------ | |
2fb2eb37 FC |
163 | // hashCode |
164 | // ------------------------------------------------------------------------ | |
165 | ||
166 | public void testHashCode() throws Exception { | |
167 | TmfEvent event1 = new TmfEvent(fEvent1); | |
168 | TmfEvent event2 = new TmfEvent(fEvent2); | |
169 | ||
170 | assertTrue("hashCode", fEvent1.hashCode() == event1.hashCode()); | |
171 | assertTrue("hashCode", fEvent2.hashCode() == event2.hashCode()); | |
172 | ||
173 | assertTrue("hashCode", fEvent1.hashCode() != event2.hashCode()); | |
174 | assertTrue("hashCode", fEvent2.hashCode() != event1.hashCode()); | |
175 | } | |
176 | ||
177 | // ------------------------------------------------------------------------ | |
cbd4ad82 FC |
178 | // toString |
179 | // ------------------------------------------------------------------------ | |
180 | ||
181 | public void testToString() { | |
182 | String expected1 = "[TmfEvent(" + fTimestamp1 + "," + fSource + "," + fType + "," + fContent1 + ")]"; | |
183 | assertEquals("toString", expected1, fEvent1.toString()); | |
184 | ||
185 | String expected2 = "[TmfEvent(" + fTimestamp2 + "," + fSource + "," + fType + "," + fContent2 + ")]"; | |
186 | assertEquals("toString", expected2, fEvent2.toString()); | |
187 | } | |
188 | ||
189 | // ------------------------------------------------------------------------ | |
190 | // setContent | |
191 | // ------------------------------------------------------------------------ | |
192 | ||
193 | public void testSetContent() { | |
194 | TmfEvent event = new TmfEvent(fEvent1); | |
195 | assertEquals("setContent", fContent1, event.getContent()); | |
196 | ||
197 | event.setContent(fContent2); | |
198 | assertEquals("setContent", fContent2, event.getContent()); | |
199 | ||
200 | event.setContent(fContent1); | |
201 | assertEquals("setContent", fContent1, event.getContent()); | |
202 | } | |
d18dd09b ASL |
203 | |
204 | } |