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 | ||
15 | import junit.framework.TestCase; | |
16 | ||
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> | |
27 | * Test suite for the TmfEvent class. | |
28 | */ | |
29 | public class TmfEventTest extends TestCase { | |
30 | ||
31 | // ------------------------------------------------------------------------ | |
32 | // Variables | |
33 | // ------------------------------------------------------------------------ | |
34 | ||
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 | ||
52 | // ------------------------------------------------------------------------ | |
53 | // Housekeeping | |
54 | // ------------------------------------------------------------------------ | |
55 | ||
56 | /** | |
57 | * @param name the test name | |
58 | */ | |
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 | ||
81 | // ------------------------------------------------------------------------ | |
82 | // Constructors | |
83 | // ------------------------------------------------------------------------ | |
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 | ||
103 | public void testTmfEventCopy() { | |
104 | TmfEvent event = new TmfEvent(fEvent1); | |
105 | assertEquals("getTimestamp", fTimestamp1, event.getTimestamp()); | |
106 | assertEquals("getOriginalTimestamp", fTimestamp1, event.getOriginalTimestamp()); | |
107 | assertEquals("getSource", fSource, event.getSource()); | |
108 | assertEquals("getType", fType, event.getType()); | |
109 | assertEquals("getContent", fContent1, event.getContent()); | |
110 | assertEquals("getReference", fReference, event.getReference()); | |
111 | } | |
112 | ||
113 | public void testEventCopy2() throws Exception { | |
114 | try { | |
115 | new TmfEvent(null); | |
116 | fail("null copy"); | |
117 | } | |
118 | catch (IllegalArgumentException e) { | |
119 | // Success | |
120 | } | |
121 | } | |
122 | ||
123 | // ------------------------------------------------------------------------ | |
124 | // equals | |
125 | // ------------------------------------------------------------------------ | |
126 | ||
127 | public void testEqualsReflexivity() throws Exception { | |
128 | assertTrue("equals", fEvent1.equals(fEvent1)); | |
129 | assertTrue("equals", fEvent2.equals(fEvent2)); | |
130 | ||
131 | assertTrue("equals", !fEvent1.equals(fEvent2)); | |
132 | assertTrue("equals", !fEvent2.equals(fEvent1)); | |
133 | } | |
134 | ||
135 | public void testEqualsSymmetry() throws Exception { | |
136 | TmfEvent event1 = new TmfEvent(fEvent1); | |
137 | TmfEvent event2 = new TmfEvent(fEvent2); | |
138 | ||
139 | assertTrue("equals", event1.equals(fEvent1)); | |
140 | assertTrue("equals", fEvent1.equals(event1)); | |
141 | ||
142 | assertTrue("equals", event2.equals(fEvent2)); | |
143 | assertTrue("equals", fEvent2.equals(event2)); | |
144 | } | |
145 | ||
146 | public void testEqualsTransivity() throws Exception { | |
147 | TmfEvent event1 = new TmfEvent(fEvent1); | |
148 | TmfEvent event2 = new TmfEvent(fEvent1); | |
149 | TmfEvent event3 = new TmfEvent(fEvent1); | |
150 | ||
151 | assertTrue("equals", event1.equals(event2)); | |
152 | assertTrue("equals", event2.equals(event3)); | |
153 | assertTrue("equals", event1.equals(event3)); | |
154 | } | |
155 | ||
156 | public void testEqualsNull() throws Exception { | |
157 | assertTrue("equals", !fEvent1.equals(null)); | |
158 | assertTrue("equals", !fEvent2.equals(null)); | |
159 | } | |
160 | ||
161 | // ------------------------------------------------------------------------ | |
162 | // hashCode | |
163 | // ------------------------------------------------------------------------ | |
164 | ||
165 | public void testHashCode() throws Exception { | |
166 | TmfEvent event1 = new TmfEvent(fEvent1); | |
167 | TmfEvent event2 = new TmfEvent(fEvent2); | |
168 | ||
169 | assertTrue("hashCode", fEvent1.hashCode() == event1.hashCode()); | |
170 | assertTrue("hashCode", fEvent2.hashCode() == event2.hashCode()); | |
171 | ||
172 | assertTrue("hashCode", fEvent1.hashCode() != event2.hashCode()); | |
173 | assertTrue("hashCode", fEvent2.hashCode() != event1.hashCode()); | |
174 | } | |
175 | ||
176 | // ------------------------------------------------------------------------ | |
177 | // toString | |
178 | // ------------------------------------------------------------------------ | |
179 | ||
180 | public void testToString() { | |
181 | String expected1 = "[TmfEvent(" + fTimestamp1 + "," + fSource + "," + fType + "," + fContent1 + ")]"; | |
182 | assertEquals("toString", expected1, fEvent1.toString()); | |
183 | ||
184 | String expected2 = "[TmfEvent(" + fTimestamp2 + "," + fSource + "," + fType + "," + fContent2 + ")]"; | |
185 | assertEquals("toString", expected2, fEvent2.toString()); | |
186 | } | |
187 | ||
188 | // ------------------------------------------------------------------------ | |
189 | // setContent | |
190 | // ------------------------------------------------------------------------ | |
191 | ||
192 | public void testSetContent() { | |
193 | TmfEvent event = new TmfEvent(fEvent1); | |
194 | assertEquals("setContent", fContent1, event.getContent()); | |
195 | ||
196 | event.setContent(fContent2); | |
197 | assertEquals("setContent", fContent2, event.getContent()); | |
198 | ||
199 | event.setContent(fContent1); | |
200 | assertEquals("setContent", fContent1, event.getContent()); | |
201 | } | |
202 | ||
203 | } |