KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > clirr > core > internal > checks > ClassScopeCheckTest


1 package net.sf.clirr.core.internal.checks;
2
3 import net.sf.clirr.core.internal.ClassChangeCheck;
4 import net.sf.clirr.core.Severity;
5 import net.sf.clirr.core.ClassSelector;
6 import net.sf.clirr.core.ScopeSelector;
7 import net.sf.clirr.core.ClassFilter;
8 import net.sf.clirr.core.internal.checks.ClassScopeCheck;
9 import net.sf.clirr.core.internal.checks.AbstractCheckTestCase;
10 import net.sf.clirr.core.spi.Scope;
11
12 /**
13  * Tests for the ClassScopeCheck test.
14  *
15  * @author Simon Kitching
16  */

17 public class ClassScopeCheckTest extends AbstractCheckTestCase
18 {
19     public void testAccessChangesAreReported() throws Exception JavaDoc
20     {
21         ExpectedDiff[] expected = new ExpectedDiff[] {
22             new ExpectedDiff("Decreased visibility of class from public to protected", Severity.ERROR, "testlib.scope.ClassScopeChange$A2", null, null),
23             new ExpectedDiff("Decreased visibility of class from public to package", Severity.ERROR, "testlib.scope.ClassScopeChange$A3", null, null),
24             new ExpectedDiff("Decreased visibility of class from public to private", Severity.ERROR, "testlib.scope.ClassScopeChange$A4", null, null),
25
26             new ExpectedDiff("Increased visibility of class from protected to public", Severity.INFO, "testlib.scope.ClassScopeChange$B2", null, null),
27             new ExpectedDiff("Decreased visibility of class from protected to package", Severity.ERROR, "testlib.scope.ClassScopeChange$B3", null, null),
28             new ExpectedDiff("Decreased visibility of class from protected to private", Severity.ERROR, "testlib.scope.ClassScopeChange$B4", null, null),
29
30             new ExpectedDiff("Increased visibility of class from package to public", Severity.INFO, "testlib.scope.ClassScopeChange$C2", null, null),
31             new ExpectedDiff("Increased visibility of class from package to protected", Severity.INFO, "testlib.scope.ClassScopeChange$C3", null, null),
32             // package->private is not an error, just an info, because we never report error for package or private diffs
33
new ExpectedDiff("Decreased visibility of class from package to private", Severity.INFO, "testlib.scope.ClassScopeChange$C4", null, null),
34
35             new ExpectedDiff("Increased visibility of class from private to public", Severity.INFO, "testlib.scope.ClassScopeChange$D2", null, null),
36             new ExpectedDiff("Increased visibility of class from private to protected", Severity.INFO, "testlib.scope.ClassScopeChange$D3", null, null),
37             new ExpectedDiff("Increased visibility of class from private to package", Severity.INFO, "testlib.scope.ClassScopeChange$D4", null, null),
38         };
39         verify(expected);
40     }
41
42     protected ClassChangeCheck createCheck(TestDiffListener tdl)
43     {
44         ScopeSelector scopeSelector = new ScopeSelector(Scope.PRIVATE);
45         return new ClassScopeCheck(tdl, scopeSelector);
46     }
47
48     protected ClassFilter createClassSelector()
49     {
50         // only check the testlib/scope/ClassScopeChange class.
51
ClassSelector classSelector = new ClassSelector(ClassSelector.MODE_IF);
52         classSelector.addClass("testlib.scope.ClassScopeChange");
53         return classSelector;
54     }
55 }
Popular Tags