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.ClassFilter;
7   import net.sf.clirr.core.internal.checks.ClassModifierCheck;
8   import net.sf.clirr.core.internal.checks.AbstractCheckTestCase;
9   
10  /***
11   * Tests for the ClassModifierCheck class.
12   */
13  public class ClassModifierCheckTest extends AbstractCheckTestCase
14  {
15      public void testAll() throws Exception
16      {
17          ExpectedDiff[] expected = new ExpectedDiff[] {
18              new ExpectedDiff("Added final modifier to class", Severity.ERROR, "testlib.modifiers.NonFinalBecomesFinal", null, null),
19              new ExpectedDiff("Added final modifier to class, but class was effectively final anyway", Severity.INFO, "testlib.modifiers.EffectivelyFinal", null, null),
20          };
21          verify(expected);
22      }
23  
24      protected ClassChangeCheck createCheck(TestDiffListener tdl)
25      {
26          return new ClassModifierCheck(tdl);
27      }
28  
29      protected ClassFilter createClassSelector()
30      {
31          // only apply the check to classes in the testlib.modifiers package.
32          ClassSelector classSelector = new ClassSelector(ClassSelector.MODE_IF);
33          classSelector.addPackage("testlib.modifiers");
34          return classSelector;
35      }
36  }