01: package net.sf.clirr.core.internal.checks;
02:
03: import java.net.URL;
04: import java.net.URLClassLoader;
05:
06: import net.sf.clirr.core.Checker;
07: import net.sf.clirr.core.CheckerFactory;
08: import net.sf.clirr.core.Severity;
09: import net.sf.clirr.core.internal.ClassChangeCheck;
10: import net.sf.clirr.core.internal.bcel.BcelTypeArrayBuilder;
11: import net.sf.clirr.core.spi.JavaType;
12: import net.sf.clirr.core.ClassFilter;
13:
14: public class ClassAddedRemovedTest extends AbstractCheckTestCase {
15: public void testClassAddionOrRemovalIsReported() throws Exception {
16: Checker checker = CheckerFactory.createChecker(null);
17: TestDiffListener tld = new TestDiffListener();
18: checker.addDiffListener(tld);
19:
20: ClassFilter classSelector = createClassSelector();
21:
22: final JavaType[] origClasses = BcelTypeArrayBuilder
23: .createClassSet(getBaseLine(), new URLClassLoader(
24: new URL[] {}), classSelector);
25:
26: final JavaType[] newClasses = BcelTypeArrayBuilder
27: .createClassSet(getCurrent(), new URLClassLoader(
28: new URL[] {}), classSelector);
29:
30: checker.reportDiffs(origClasses, newClasses);
31:
32: ExpectedDiff[] expected = new ExpectedDiff[] {
33: new ExpectedDiff("Class testlib.AddedClass added",
34: Severity.INFO, "testlib.AddedClass", null, null),
35: new ExpectedDiff("Class testlib.RemovedClass removed",
36: Severity.ERROR, "testlib.RemovedClass", null,
37: null), };
38:
39: tld.checkExpected(expected);
40: }
41:
42: protected ClassChangeCheck createCheck(TestDiffListener tdl) {
43: // changes are reported directly by the Checker
44: return null;
45: }
46:
47: }
|