View Javadoc

    1
    2    /**
    3     * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
    4     */
    5    package net.sourceforge.pmd.lang.java.rule.design;
    6
    7    import net.sourceforge.pmd.PropertyDescriptor;
    8   import net.sourceforge.pmd.Rule;
    9   import net.sourceforge.pmd.testframework.SimpleAggregatorTst;
    10  import net.sourceforge.pmd.testframework.TestDescriptor;
    11
    12  import org.junit.Before;
    13  import org.junit.Test;
    14
    15
    16   public class UncommentedEmptyConstructorRuleTest extends SimpleAggregatorTst {
    17
    18       private Rule rule;
    19       private TestDescriptor[] tests;
    20
    21       @Before
    22       public void setUp() {
    23           rule = findRule("java-design", "UncommentedEmptyConstructor");
    24           tests = extractTestsFromXml(rule);
    25       }
    26
    27       @Test
    28       public void testDefault() {
    29           runTests(tests);
    30       }
    31
    32       @Test
    33       public void testIgnoredConstructorInvocation() {
    34  	 PropertyDescriptor<Boolean> descriptor = (PropertyDescriptor<Boolean>)rule.getPropertyDescriptor("ignoreExplicitConstructorInvocation");
    35           rule.setProperty(descriptor, true);
    36           TestDescriptor[] testDescriptors = new TestDescriptor[] {
    37  		new TestDescriptor(tests[0].getCode(), "simple failure", 1, rule),
    38  		new TestDescriptor(tests[1].getCode(), "only 'this(...)' failure", 1, rule),
    39  		new TestDescriptor(tests[2].getCode(), "only 'super(...)' failure", 1, rule),
    40  		new TestDescriptor(tests[3].getCode(), "single-line comment is OK", 0, rule),
    41  		new TestDescriptor(tests[4].getCode(), "multiple-line comment is OK", 0, rule),
    42  		new TestDescriptor(tests[5].getCode(), "Javadoc comment is OK", 0, rule),
    43  		new TestDescriptor(tests[6].getCode(), "ok", 0, rule),
    44  		new TestDescriptor(tests[7].getCode(), "with 'this(...)' ok", 0, rule),
    45  		new TestDescriptor(tests[8].getCode(), "with 'super(...)' ok", 0, rule),
    46  		new TestDescriptor(tests[9].getCode(), "private is ok", 0, rule), };
    47           for (TestDescriptor testDescriptor : testDescriptors) {
    48               testDescriptor.setReinitializeRule(false);
    49           }
    50           runTests(testDescriptors);
    51       }
    52
    53       public static junit.framework.Test suite() {
    54           return new junit.framework.JUnit4TestAdapter(UncommentedEmptyConstructorRuleTest.class);
    55       }
    56   }