View Javadoc
1 package test.net.sourceforge.pmd.rules; 2 3 import junit.framework.TestCase; 4 import net.sourceforge.pmd.PMD; 5 import net.sourceforge.pmd.Report; 6 import net.sourceforge.pmd.Rule; 7 import net.sourceforge.pmd.RuleContext; 8 import net.sourceforge.pmd.RuleSet; 9 import net.sourceforge.pmd.util.ResourceLoader; 10 11 import java.io.StringReader; 12 13 public class RuleTst extends TestCase { 14 15 private static final String TEST_FILE_DIR = "test-data/"; 16 17 public void runTestFromString(String code, int expectedResults, Rule rule) throws Throwable { 18 assertEquals(expectedResults, processUsingStringReader(code, rule).size()); 19 } 20 21 public void runTestFromString(String code, Rule rule, Report report) throws Throwable { 22 PMD p = new PMD(); 23 RuleContext ctx = new RuleContext(); 24 ctx.setReport(report); 25 ctx.setSourceCodeFilename("n/a"); 26 RuleSet rules = new RuleSet(); 27 rules.addRule(rule); 28 p.processFile(new StringReader(code), rules, ctx); 29 } 30 31 public void runTestFromFile(String filename, int expectedResults, Rule rule) throws Throwable { 32 assertEquals(expectedResults, runTestFromFile(filename, rule).size()); 33 } 34 35 public Report runTestFromFile(String fileName, Rule rule) throws Throwable { 36 Report report = new Report(); 37 runTestFromPartialFileName(fileName, rule, report); 38 return report; 39 } 40 41 public void runTestFromFullFilename(String fullFileName, Rule rule, Report report) throws Throwable { 42 PMD p = new PMD(); 43 RuleContext ctx = new RuleContext(); 44 ctx.setReport(report); 45 ctx.setSourceCodeFilename(fullFileName); 46 RuleSet rules = new RuleSet(); 47 rules.addRule(rule); 48 p.processFile(ResourceLoader.loadResourceAsStream(fullFileName), rules, ctx); 49 } 50 51 ////////////////////// 52 private void runTestFromPartialFileName(String fileName, Rule rule, Report report) throws Throwable { 53 runTestFromFullFilename(TEST_FILE_DIR + fileName, rule, report); 54 } 55 56 private Report processUsingStringReader(String code, Rule rule) throws Throwable { 57 Report report = new Report(); 58 runTestFromString(code, rule, report); 59 return report; 60 } 61 }

This page was automatically generated by Maven