1 package net.sf.clirr.core.internal.checks;
2
3 import java.net.URL;
4 import java.net.URLClassLoader;
5
6 import net.sf.clirr.core.Checker;
7 import net.sf.clirr.core.CheckerFactory;
8 import net.sf.clirr.core.Severity;
9 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 {
16 public void testClassAddionOrRemovalIsReported() throws Exception
17 {
18 Checker checker = CheckerFactory.createChecker(null);
19 TestDiffListener tld = new TestDiffListener();
20 checker.addDiffListener(tld);
21
22 ClassFilter classSelector = createClassSelector();
23
24 final JavaType[] origClasses =
25 BcelTypeArrayBuilder.createClassSet(getBaseLine(), new URLClassLoader(new URL[]{}), classSelector);
26
27 final JavaType[] newClasses =
28 BcelTypeArrayBuilder.createClassSet(getCurrent(), new URLClassLoader(new URL[]{}), classSelector);
29
30 checker.reportDiffs(origClasses, newClasses);
31
32 ExpectedDiff[] expected = new ExpectedDiff[] {
33 new ExpectedDiff("Class testlib.AddedClass added", Severity.INFO, "testlib.AddedClass", null, null),
34 new ExpectedDiff("Class testlib.RemovedClass removed", Severity.ERROR, "testlib.RemovedClass", null, null),
35 };
36
37 tld.checkExpected(expected);
38 }
39
40 protected ClassChangeCheck createCheck(TestDiffListener tdl)
41 {
42
43 return null;
44 }
45
46 }