1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
10 | |
|
11 | |
|
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
|
17 | |
|
18 | |
|
19 | |
|
20 | |
|
21 | |
|
22 | |
|
23 | |
|
24 | |
|
25 | |
|
26 | |
|
27 | |
|
28 | |
|
29 | |
|
30 | |
|
31 | |
|
32 | |
|
33 | |
package com.jeantessier.diff; |
34 | |
|
35 | |
import java.util.*; |
36 | |
|
37 | |
import com.jeantessier.classreader.*; |
38 | |
|
39 | 42 | public class TestAPIDifferenceStrategy extends TestDifferencesFactoryBase { |
40 | |
private MockDifferenceStrategy mockStrategy; |
41 | |
private APIDifferenceStrategy strategy; |
42 | |
|
43 | |
protected void setUp() throws Exception { |
44 | 42 | super.setUp(); |
45 | |
|
46 | 42 | mockStrategy = new MockDifferenceStrategy(new NoDifferenceStrategy()); |
47 | 42 | strategy = new APIDifferenceStrategy(mockStrategy); |
48 | 42 | } |
49 | |
|
50 | |
public void testUnmodifiedConstantValue() { |
51 | 1 | ConstantValue_attribute oldValue = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface").getField("unmodifiedField").getConstantValue(); |
52 | 1 | ConstantValue_attribute newValue = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface").getField("unmodifiedField").getConstantValue(); |
53 | |
|
54 | 1 | assertFalse(strategy.isConstantValueDifferent(oldValue, newValue)); |
55 | |
|
56 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
57 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
58 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
59 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
60 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
61 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
62 | 1 | } |
63 | |
|
64 | |
public void testRemovedConstantValue() { |
65 | 1 | ConstantValue_attribute oldValue = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("removedField").getConstantValue(); |
66 | 1 | ConstantValue_attribute newValue = null; |
67 | |
|
68 | 1 | assertFalse(strategy.isConstantValueDifferent(oldValue, newValue)); |
69 | |
|
70 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
71 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
72 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
73 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
74 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
75 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
76 | 1 | } |
77 | |
|
78 | |
public void testModifiedConstantValue() { |
79 | 1 | ConstantValue_attribute oldValue = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("modifiedValueField").getConstantValue(); |
80 | 1 | ConstantValue_attribute newValue = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("modifiedValueField").getConstantValue(); |
81 | |
|
82 | 1 | assertFalse(strategy.isConstantValueDifferent(oldValue, newValue)); |
83 | |
|
84 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
85 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
86 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
87 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
88 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
89 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
90 | 1 | } |
91 | |
|
92 | |
public void testNewConstantValue() { |
93 | 1 | ConstantValue_attribute oldValue = null; |
94 | 1 | ConstantValue_attribute newValue = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("newField").getConstantValue(); |
95 | |
|
96 | 1 | assertFalse(strategy.isConstantValueDifferent(oldValue, newValue)); |
97 | |
|
98 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
99 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
100 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
101 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
102 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
103 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
104 | 1 | } |
105 | |
|
106 | |
public void testUnmodifiedField() { |
107 | 1 | Field_info oldFeature = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getField("unmodifiedField"); |
108 | 1 | Field_info newFeature = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getField("unmodifiedField"); |
109 | |
|
110 | 1 | assertFalse(strategy.isFieldDifferent(oldFeature, newFeature)); |
111 | |
|
112 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
113 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
114 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
115 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
116 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
117 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
118 | 1 | } |
119 | |
|
120 | |
public void testRemovedField() { |
121 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getField("removedField"); |
122 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getField("removedField"); |
123 | |
|
124 | 1 | assertTrue(strategy.isFieldDifferent(oldFeature, newFeature)); |
125 | |
|
126 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
127 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
128 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
129 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
130 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
131 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
132 | 1 | } |
133 | |
|
134 | |
public void testModifiedField() { |
135 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getField("modifiedField"); |
136 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getField("modifiedField"); |
137 | |
|
138 | 1 | assertTrue(strategy.isFieldDifferent(oldFeature, newFeature)); |
139 | |
|
140 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
141 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
142 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
143 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
144 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
145 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
146 | 1 | } |
147 | |
|
148 | |
public void testModifiedValueField() { |
149 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("modifiedValueField"); |
150 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("modifiedValueField"); |
151 | |
|
152 | 1 | assertFalse(strategy.isFieldDifferent(oldFeature, newFeature)); |
153 | |
|
154 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
155 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
156 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
157 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
158 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
159 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
160 | 1 | } |
161 | |
|
162 | |
public void testDeprecatedField() { |
163 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("deprecatedField"); |
164 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("deprecatedField"); |
165 | |
|
166 | 1 | assertTrue(strategy.isFieldDifferent(oldFeature, newFeature)); |
167 | |
|
168 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
169 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
170 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
171 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
172 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
173 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
174 | 1 | } |
175 | |
|
176 | |
public void testUndeprecatedField() { |
177 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("undeprecatedField"); |
178 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface").getField("undeprecatedField"); |
179 | |
|
180 | 1 | assertTrue(strategy.isFieldDifferent(oldFeature, newFeature)); |
181 | |
|
182 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
183 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
184 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
185 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
186 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
187 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
188 | 1 | } |
189 | |
|
190 | |
public void testNewField() { |
191 | 1 | Field_info oldFeature = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getField("newField"); |
192 | 1 | Field_info newFeature = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getField("newField"); |
193 | |
|
194 | 1 | assertTrue(strategy.isFieldDifferent(oldFeature, newFeature)); |
195 | |
|
196 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
197 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
198 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
199 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
200 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
201 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
202 | 1 | } |
203 | |
|
204 | |
public void testUnmodifiedCode() { |
205 | 1 | Code_attribute oldCode = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("unmodifiedMethod()").getCode(); |
206 | 1 | Code_attribute newCode = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("unmodifiedMethod()").getCode(); |
207 | |
|
208 | 1 | assertFalse(strategy.isCodeDifferent(oldCode, newCode)); |
209 | |
|
210 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
211 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
212 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
213 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
214 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
215 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
216 | 1 | } |
217 | |
|
218 | |
public void testModifiedCode() { |
219 | 1 | Code_attribute oldCode = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedCodeMethod()").getCode(); |
220 | 1 | Code_attribute newCode = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedCodeMethod()").getCode(); |
221 | |
|
222 | 1 | assertFalse(strategy.isCodeDifferent(oldCode, newCode)); |
223 | |
|
224 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
225 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
226 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
227 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
228 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
229 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
230 | 1 | } |
231 | |
|
232 | |
public void testUnmodifiedConstructor() { |
233 | 1 | Method_info oldMethod = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("UnmodifiedClass()"); |
234 | 1 | Method_info newMethod = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("UnmodifiedClass()"); |
235 | |
|
236 | 1 | assertFalse(strategy.isMethodDifferent(oldMethod, newMethod)); |
237 | |
|
238 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
239 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
240 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
241 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
242 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
243 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
244 | 1 | } |
245 | |
|
246 | |
public void testRemovedConstructor() { |
247 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass()"); |
248 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass()"); |
249 | |
|
250 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
251 | |
|
252 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
253 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
254 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
255 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
256 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
257 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
258 | 1 | } |
259 | |
|
260 | |
public void testModifiedConstructor() { |
261 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int)"); |
262 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int)"); |
263 | |
|
264 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
265 | |
|
266 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
267 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
268 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
269 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
270 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
271 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
272 | 1 | } |
273 | |
|
274 | |
public void testModifiedCodeConstructor() { |
275 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(float)"); |
276 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(float)"); |
277 | |
|
278 | 1 | assertFalse(strategy.isMethodDifferent(oldMethod, newMethod)); |
279 | |
|
280 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
281 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
282 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
283 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
284 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
285 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
286 | 1 | } |
287 | |
|
288 | |
public void testDeprecatedConstructor() { |
289 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int)"); |
290 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int)"); |
291 | |
|
292 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
293 | |
|
294 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
295 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
296 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
297 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
298 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
299 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
300 | 1 | } |
301 | |
|
302 | |
public void testUndeprecatedConstructor() { |
303 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int, int, int)"); |
304 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int, int, int)"); |
305 | |
|
306 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
307 | |
|
308 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
309 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
310 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
311 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
312 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
313 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
314 | 1 | } |
315 | |
|
316 | |
public void testNewConstructor() { |
317 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int, int, int, int)"); |
318 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("ModifiedClass(int, int, int, int, int, int)"); |
319 | |
|
320 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
321 | |
|
322 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
323 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
324 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
325 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
326 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
327 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
328 | 1 | } |
329 | |
|
330 | |
public void testUnmodifiedMethod() { |
331 | 1 | Method_info oldMethod = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("unmodifiedMethod()"); |
332 | 1 | Method_info newMethod = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass").getMethod("unmodifiedMethod()"); |
333 | |
|
334 | 1 | assertFalse(strategy.isMethodDifferent(oldMethod, newMethod)); |
335 | |
|
336 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
337 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
338 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
339 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
340 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
341 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
342 | 1 | } |
343 | |
|
344 | |
public void testRemovedMethod() { |
345 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("removedMethod()"); |
346 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("removedMethod()"); |
347 | |
|
348 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
349 | |
|
350 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
351 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
352 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
353 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
354 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
355 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
356 | 1 | } |
357 | |
|
358 | |
public void testModifiedMethod() { |
359 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedMethod()"); |
360 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedMethod()"); |
361 | |
|
362 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
363 | |
|
364 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
365 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
366 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
367 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
368 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
369 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
370 | 1 | } |
371 | |
|
372 | |
public void testModifiedCodeMethod() { |
373 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedCodeMethod()"); |
374 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("modifiedCodeMethod()"); |
375 | |
|
376 | 1 | assertFalse(strategy.isMethodDifferent(oldMethod, newMethod)); |
377 | |
|
378 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
379 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
380 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
381 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
382 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
383 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
384 | 1 | } |
385 | |
|
386 | |
public void testDeprecatedMethod() { |
387 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("deprecatedMethod()"); |
388 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("deprecatedMethod()"); |
389 | |
|
390 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
391 | |
|
392 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
393 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
394 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
395 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
396 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
397 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
398 | 1 | } |
399 | |
|
400 | |
public void testUndeprecatedMethod() { |
401 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("undeprecatedMethod()"); |
402 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("undeprecatedMethod()"); |
403 | |
|
404 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
405 | |
|
406 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
407 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
408 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
409 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
410 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
411 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
412 | 1 | } |
413 | |
|
414 | |
public void testNewMethod() { |
415 | 1 | Method_info oldMethod = getOldJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("newMethod()"); |
416 | 1 | Method_info newMethod = getNewJar().getClassfile("ModifiedPackage.ModifiedClass").getMethod("newMethod()"); |
417 | |
|
418 | 1 | assertTrue(strategy.isMethodDifferent(oldMethod, newMethod)); |
419 | |
|
420 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
421 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
422 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
423 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
424 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
425 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
426 | 1 | } |
427 | |
|
428 | |
public void testUnmodifiedInterface() { |
429 | 1 | Classfile oldClass = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface"); |
430 | 1 | Classfile newClass = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface"); |
431 | |
|
432 | 1 | assertFalse(strategy.isClassDifferent(oldClass, newClass)); |
433 | |
|
434 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
435 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
436 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
437 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
438 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
439 | 1 | assertEquals("code", 1, mockStrategy.getCodeDifferentCount()); |
440 | 1 | } |
441 | |
|
442 | |
public void testRemovedInterface() { |
443 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.RemovedInterface"); |
444 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.RemovedInterface"); |
445 | |
|
446 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
447 | |
|
448 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
449 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
450 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
451 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
452 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
453 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
454 | 1 | } |
455 | |
|
456 | |
public void testModifiedDeclarationInterface() { |
457 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.ModifiedDeclarationInterface"); |
458 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.ModifiedDeclarationInterface"); |
459 | |
|
460 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
461 | |
|
462 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
463 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
464 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
465 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
466 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
467 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
468 | 1 | } |
469 | |
|
470 | |
public void testModifiedInterface() { |
471 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.ModifiedInterface"); |
472 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.ModifiedInterface"); |
473 | |
|
474 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
475 | |
|
476 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
477 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
478 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
479 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
480 | 0 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
481 | 0 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
482 | 0 | } |
483 | |
|
484 | |
public void testNewInterface() { |
485 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.NewInterface"); |
486 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.NewInterface"); |
487 | |
|
488 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
489 | |
|
490 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
491 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
492 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
493 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
494 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
495 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
496 | 1 | } |
497 | |
|
498 | |
public void testUnmodifiedClass() { |
499 | 1 | Classfile oldClass = getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass"); |
500 | 1 | Classfile newClass = getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass"); |
501 | |
|
502 | 1 | assertFalse(strategy.isClassDifferent(oldClass, newClass)); |
503 | |
|
504 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
505 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
506 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
507 | 1 | assertEquals("constant", 1, mockStrategy.getConstantValueDifferentCount()); |
508 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
509 | 1 | assertEquals("code", 2, mockStrategy.getCodeDifferentCount()); |
510 | 1 | } |
511 | |
|
512 | |
public void testRemovedClass() { |
513 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.RemovedClass"); |
514 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.RemovedClass"); |
515 | |
|
516 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
517 | |
|
518 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
519 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
520 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
521 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
522 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
523 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
524 | 1 | } |
525 | |
|
526 | |
public void testModifiedDeclarationClass() { |
527 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.ModifiedDeclarationClass"); |
528 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.ModifiedDeclarationClass"); |
529 | |
|
530 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
531 | |
|
532 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
533 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
534 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
535 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
536 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
537 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
538 | 1 | } |
539 | |
|
540 | |
public void testModifiedClass() { |
541 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.ModifiedClass"); |
542 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.ModifiedClass"); |
543 | |
|
544 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
545 | |
|
546 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
547 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
548 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
549 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
550 | 0 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
551 | 0 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
552 | 0 | } |
553 | |
|
554 | |
public void testNewClass() { |
555 | 1 | Classfile oldClass = getOldJar().getClassfile("ModifiedPackage.NewClass"); |
556 | 1 | Classfile newClass = getNewJar().getClassfile("ModifiedPackage.NewClass"); |
557 | |
|
558 | 1 | assertTrue(strategy.isClassDifferent(oldClass, newClass)); |
559 | |
|
560 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
561 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
562 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
563 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
564 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
565 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
566 | 1 | } |
567 | |
|
568 | |
public void testUnmodifiedPackage() { |
569 | 1 | Map oldPackage = new HashMap(); |
570 | 1 | oldPackage.put("UnmodifiedPackage.UnmodifiedClass", getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass")); |
571 | 1 | oldPackage.put("UnmodifiedPackage.UnmodifiedInterface", getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface")); |
572 | 1 | Map newPackage = new HashMap(); |
573 | 1 | newPackage.put("UnmodifiedPackage.UnmodifiedClass", getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass")); |
574 | 1 | newPackage.put("UnmodifiedPackage.UnmodifiedInterface", getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface")); |
575 | |
|
576 | 1 | assertFalse(strategy.isPackageDifferent(oldPackage, newPackage)); |
577 | |
|
578 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
579 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
580 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
581 | 1 | assertEquals("constant", 2, mockStrategy.getConstantValueDifferentCount()); |
582 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
583 | 1 | assertEquals("code", 3, mockStrategy.getCodeDifferentCount()); |
584 | 1 | } |
585 | |
|
586 | |
public void testRemovedPackage() { |
587 | 1 | Map oldPackage = new HashMap(); |
588 | 1 | oldPackage.put("RemovedPackage.RemovedClass", getOldJar().getClassfile("RemovedPackage.RemovedClass")); |
589 | 1 | Map newPackage = new HashMap(); |
590 | |
|
591 | 1 | assertTrue(strategy.isPackageDifferent(oldPackage, newPackage)); |
592 | |
|
593 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
594 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
595 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
596 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
597 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
598 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
599 | 1 | } |
600 | |
|
601 | |
public void testModifiedPackage() { |
602 | 1 | Map oldPackage = new HashMap(); |
603 | 1 | oldPackage.put("UnmodifiedPackage.UnmodifiedClass", getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedClass")); |
604 | 1 | oldPackage.put("UnmodifiedPackage.UnmodifiedInterface", getOldJar().getClassfile("UnmodifiedPackage.UnmodifiedInterface")); |
605 | 1 | Map newPackage = new HashMap(); |
606 | 1 | newPackage.put("UnmodifiedPackage.UnmodifiedClass", getNewJar().getClassfile("UnmodifiedPackage.UnmodifiedClass")); |
607 | |
|
608 | 1 | assertTrue(strategy.isPackageDifferent(oldPackage, newPackage)); |
609 | |
|
610 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
611 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
612 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
613 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
614 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
615 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
616 | 1 | } |
617 | |
|
618 | |
public void testModifiedCodePackage() { |
619 | 1 | Map oldPackage = new HashMap(); |
620 | 1 | oldPackage.put("ModifiedPackage.ModifiedClass", getOldJar().getClassfile("ModifiedPackage.ModifiedClass")); |
621 | 1 | Map newPackage = new HashMap(); |
622 | 1 | newPackage.put("ModifiedPackage.ModifiedClass", getNewJar().getClassfile("ModifiedPackage.ModifiedClass")); |
623 | |
|
624 | 1 | assertTrue(strategy.isPackageDifferent(oldPackage, newPackage)); |
625 | |
|
626 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
627 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
628 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
629 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
630 | 0 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
631 | 0 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
632 | 0 | } |
633 | |
|
634 | |
public void testNewPackage() { |
635 | 1 | Map oldPackage = new HashMap(); |
636 | 1 | Map newPackage = new HashMap(); |
637 | 1 | newPackage.put("NewPackage.NewClass", getNewJar().getClassfile("NewPackage.NewClass")); |
638 | |
|
639 | 1 | assertTrue(strategy.isPackageDifferent(oldPackage, newPackage)); |
640 | |
|
641 | 1 | assertEquals("package", 0, mockStrategy.getPackageDifferentCount()); |
642 | 1 | assertEquals("class", 0, mockStrategy.getClassDifferentCount()); |
643 | 1 | assertEquals("field", 0, mockStrategy.getFieldDifferentCount()); |
644 | 1 | assertEquals("constant", 0, mockStrategy.getConstantValueDifferentCount()); |
645 | 1 | assertEquals("method", 0, mockStrategy.getMethodDifferentCount()); |
646 | 1 | assertEquals("code", 0, mockStrategy.getCodeDifferentCount()); |
647 | 1 | } |
648 | |
} |