2010-08-30 Francois Chouinard <fchouinard@gmail.com> Quick fix for a ClassCastExcep...
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.tests / src / org / eclipse / linuxtools / tmf / tests / event / TmfEventTest.java
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 }
This page took 0.061865 seconds and 5 git commands to generate.