Commit | Line | Data |
---|---|---|
d18dd09b | 1 | /******************************************************************************* |
61759503 | 2 | * Copyright (c) 2009, 2013 Ericsson |
54a7a54c | 3 | * |
d18dd09b ASL |
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 | |
54a7a54c | 8 | * |
d18dd09b ASL |
9 | * Contributors: |
10 | * Francois Chouinard - Initial API and implementation | |
6e1886bc | 11 | * Alexandre Montplaisir - Port to JUnit4 |
d18dd09b ASL |
12 | *******************************************************************************/ |
13 | ||
6c13869b | 14 | package org.eclipse.linuxtools.tmf.core.tests.trace; |
d18dd09b | 15 | |
6e1886bc AM |
16 | import static org.junit.Assert.assertEquals; |
17 | import static org.junit.Assert.assertFalse; | |
18 | import static org.junit.Assert.assertNull; | |
19 | import static org.junit.Assert.assertTrue; | |
d18dd09b | 20 | |
3bd46eef | 21 | import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp; |
cb8c854e FC |
22 | import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; |
23 | import org.eclipse.linuxtools.tmf.core.trace.TmfLongLocation; | |
24 | import org.eclipse.linuxtools.tmf.core.trace.TmfTimestampLocation; | |
6e1886bc AM |
25 | import org.junit.Before; |
26 | import org.junit.Test; | |
d18dd09b ASL |
27 | |
28 | /** | |
d18dd09b ASL |
29 | * Test suite for the TmfLocation class. |
30 | */ | |
cad06250 | 31 | @SuppressWarnings("javadoc") |
6e1886bc | 32 | public class TmfLocationTest { |
d18dd09b | 33 | |
fcccd900 FC |
34 | // ------------------------------------------------------------------------ |
35 | // Variables | |
36 | // ------------------------------------------------------------------------ | |
d18dd09b | 37 | |
6e1886bc AM |
38 | private String aString = "some location"; |
39 | private Long aLong = 12345L; | |
40 | private TmfTimestamp aTimestamp = new TmfTimestamp(); | |
d18dd09b | 41 | |
6e1886bc AM |
42 | private TmfStringLocation fLocation1; |
43 | private TmfStringLocation fLocation2; | |
44 | private TmfLongLocation fLocation3; | |
45 | private TmfTimestampLocation fLocation4; | |
d18dd09b ASL |
46 | |
47 | // ------------------------------------------------------------------------ | |
48 | // Housekeeping | |
49 | // ------------------------------------------------------------------------ | |
50 | ||
6e1886bc AM |
51 | @Before |
52 | public void setUp() { | |
cb8c854e FC |
53 | fLocation1 = new TmfStringLocation((String) null); |
54 | fLocation2 = new TmfStringLocation(aString); | |
55 | fLocation3 = new TmfLongLocation(aLong); | |
56 | fLocation4 = new TmfTimestampLocation(aTimestamp); | |
fcccd900 FC |
57 | } |
58 | ||
d18dd09b ASL |
59 | // ------------------------------------------------------------------------ |
60 | // Constructors | |
61 | // ------------------------------------------------------------------------ | |
62 | ||
6e1886bc | 63 | @Test |
fcccd900 | 64 | public void testTmfLocation() { |
5976d44a FC |
65 | assertNull("TmfLocation", fLocation1.getLocationInfo()); |
66 | assertEquals("TmfLocation", aString, fLocation2.getLocationInfo()); | |
67 | assertEquals("TmfLocation", aLong, fLocation3.getLocationInfo()); | |
68 | assertEquals("TmfLocation", aTimestamp, fLocation4.getLocationInfo()); | |
fcccd900 FC |
69 | } |
70 | ||
6e1886bc | 71 | @Test |
fcccd900 | 72 | public void testTmfLocationCopy() { |
cb8c854e FC |
73 | TmfStringLocation location1 = new TmfStringLocation(fLocation1); |
74 | TmfStringLocation location2 = new TmfStringLocation(fLocation2); | |
75 | TmfLongLocation location3 = new TmfLongLocation(fLocation3); | |
76 | TmfTimestampLocation location4 = new TmfTimestampLocation(fLocation4); | |
fcccd900 | 77 | |
5976d44a FC |
78 | assertNull("TmfLocation", location1.getLocationInfo()); |
79 | assertEquals("TmfLocation", aString, location2.getLocationInfo()); | |
80 | assertEquals("TmfLocation", aLong, location3.getLocationInfo()); | |
81 | assertEquals("TmfLocation", aTimestamp, location4.getLocationInfo()); | |
fcccd900 FC |
82 | } |
83 | ||
d18dd09b | 84 | // ------------------------------------------------------------------------ |
fcccd900 | 85 | // hashCode |
d18dd09b ASL |
86 | // ------------------------------------------------------------------------ |
87 | ||
6e1886bc | 88 | @Test |
54a7a54c | 89 | public void testHashCode() { |
cb8c854e FC |
90 | TmfStringLocation location1 = new TmfStringLocation((String) null); |
91 | TmfStringLocation location2 = new TmfStringLocation(aString); | |
92 | TmfLongLocation location3 = new TmfLongLocation(aLong); | |
d18dd09b | 93 | |
fcccd900 FC |
94 | assertTrue("hashCode", fLocation1.hashCode() == location1.hashCode()); |
95 | assertTrue("hashCode", fLocation2.hashCode() == location2.hashCode()); | |
96 | assertTrue("hashCode", fLocation3.hashCode() == location3.hashCode()); | |
97 | ||
98 | assertTrue("hashCode", fLocation2.hashCode() != location3.hashCode()); | |
99 | assertTrue("hashCode", fLocation3.hashCode() != location2.hashCode()); | |
100 | } | |
d18dd09b ASL |
101 | |
102 | // ------------------------------------------------------------------------ | |
103 | // toEquals | |
104 | // ------------------------------------------------------------------------ | |
105 | ||
cb8c854e | 106 | private static class TmfLocation2 extends TmfStringLocation { |
fcccd900 FC |
107 | public TmfLocation2(String location) { |
108 | super(location); | |
109 | } | |
110 | } | |
111 | ||
6e1886bc | 112 | @Test |
54a7a54c | 113 | public void testEqualsWrongTypes() { |
1e1bef82 | 114 | ITmfLocation location1 = new TmfStringLocation(aString); |
fcccd900 | 115 | TmfLocation2 location2 = new TmfLocation2(aString); |
54a7a54c | 116 | |
fcccd900 FC |
117 | assertFalse("equals", location1.equals(location2)); |
118 | assertFalse("equals", location2.equals(location1)); | |
119 | } | |
120 | ||
6e1886bc | 121 | @Test |
54a7a54c | 122 | public void testEqualsWithNulls() { |
cb8c854e FC |
123 | TmfStringLocation location1 = new TmfStringLocation(aString); |
124 | TmfStringLocation location2 = new TmfStringLocation((String) null); | |
54a7a54c | 125 | |
fcccd900 FC |
126 | assertFalse("equals", location1.equals(location2)); |
127 | assertFalse("equals", location2.equals(location1)); | |
128 | } | |
129 | ||
6e1886bc | 130 | @Test |
54a7a54c | 131 | public void testEqualsReflexivity() { |
fcccd900 FC |
132 | assertTrue("equals", fLocation2.equals(fLocation2)); |
133 | assertTrue("equals", fLocation3.equals(fLocation3)); | |
134 | ||
135 | assertTrue("equals", !fLocation2.equals(fLocation3)); | |
136 | assertTrue("equals", !fLocation3.equals(fLocation2)); | |
137 | } | |
138 | ||
6e1886bc | 139 | @Test |
54a7a54c | 140 | public void testEqualsSymmetry() { |
cb8c854e FC |
141 | TmfStringLocation location2 = new TmfStringLocation(aString); |
142 | TmfLongLocation location3 = new TmfLongLocation(aLong); | |
fcccd900 FC |
143 | |
144 | assertTrue("equals", location2.equals(fLocation2)); | |
145 | assertTrue("equals", fLocation2.equals(location2)); | |
146 | ||
147 | assertTrue("equals", location3.equals(fLocation3)); | |
148 | assertTrue("equals", fLocation3.equals(location3)); | |
149 | } | |
150 | ||
6e1886bc | 151 | @Test |
54a7a54c | 152 | public void testEqualsTransivity() { |
cb8c854e FC |
153 | TmfStringLocation location1 = new TmfStringLocation(aString); |
154 | TmfStringLocation location2 = new TmfStringLocation(aString); | |
155 | TmfStringLocation location3 = new TmfStringLocation(aString); | |
fcccd900 FC |
156 | |
157 | assertTrue("equals", location1.equals(location2)); | |
158 | assertTrue("equals", location2.equals(location3)); | |
159 | assertTrue("equals", location3.equals(location1)); | |
160 | } | |
161 | ||
6e1886bc | 162 | @Test |
54a7a54c | 163 | public void testEqualsNull() { |
fcccd900 FC |
164 | assertTrue("equals", !fLocation2.equals(null)); |
165 | assertTrue("equals", !fLocation2.equals(null)); | |
166 | } | |
167 | ||
d18dd09b ASL |
168 | // ------------------------------------------------------------------------ |
169 | // toString | |
170 | // ------------------------------------------------------------------------ | |
171 | ||
6e1886bc | 172 | @Test |
fcccd900 | 173 | public void testToString() { |
6e1886bc AM |
174 | String str = "some location"; |
175 | Long lng = 12345L; | |
176 | TmfTimestamp ts = new TmfTimestamp(); | |
d18dd09b | 177 | |
6e1886bc AM |
178 | TmfStringLocation location1 = new TmfStringLocation(str); |
179 | TmfLongLocation location2 = new TmfLongLocation(lng); | |
180 | TmfTimestampLocation location3 = new TmfTimestampLocation(ts); | |
d18dd09b | 181 | |
a749efcb AM |
182 | String expected1 = "TmfStringLocation [fLocationInfo=" + str + "]"; |
183 | String expected2 = "TmfLongLocation [fLocationInfo=" + lng + "]"; | |
184 | String expected3 = "TmfTimestampLocation [fLocationInfo=" + ts + "]"; | |
d18dd09b | 185 | |
fcccd900 FC |
186 | assertEquals("toString", expected1, location1.toString()); |
187 | assertEquals("toString", expected2, location2.toString()); | |
188 | assertEquals("toString", expected3, location3.toString()); | |
189 | } | |
d18dd09b ASL |
190 | |
191 | } |