KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > uka > ipd > coverage > junit > CoverageResultPrinter


1 /*
2  * Created on 26.08.2004
3  *
4  * written by Matthias Kempka
5  */

6 package de.uka.ipd.coverage.junit;
7
8 import java.io.PrintStream JavaDoc;
9
10 import junit.framework.TestResult;
11 import junit.textui.ResultPrinter;
12 import de.uka.ipd.coverage.natures.CoverageNature;
13 import de.uka.ipd.coverage.natures.CoverageNatureFactory;
14 import de.uka.ipd.coverage.natures.TestedClass;
15 import de.uka.ipd.coverage.recording.RegisteredMethod;
16
17 /**
18  * Created on 26.08.2004
19  * @author Matthias Kempka
20  */

21 public class CoverageResultPrinter extends ResultPrinter {
22
23     /**
24      * @param writer
25      */

26     public CoverageResultPrinter(PrintStream JavaDoc writer) {
27         super(writer);
28     }
29     
30     /*
31      * this would better overwrite the method
32      * ResultPrinter.print(TestResult, long). However, that method is
33      * not visible here, so the additional output is appended at the footer.
34      * @see junit.textui.ResultPrinter#printFooter(junit.framework.TestResult)
35      */

36     public void printFooter(TestResult result) {
37         super.printFooter(result);
38         if (result instanceof CoverageTestResult) {
39             printCoverage();
40         }
41     }
42
43     
44     public void printCoverage() {
45         RegisteredMethod[] rMethods = CoverageTestResult.getRegisteredMethods();
46         getWriter().println(Messages.getString("CoverageResultPrinter.0") + rMethods.length + Messages.getString("CoverageResultPrinter.1")); //$NON-NLS-1$ //$NON-NLS-2$
47
CoverageNature nature = CoverageNatureFactory.getNature();
48         for (int i = 0; i < rMethods.length; i++) {
49             rMethods[i].acceptVisitor(nature);
50         }
51         TestedClass[] classes = nature.getMeasuredClasses();
52         for (int i = 0; i < classes.length; i++) {
53             getWriter().println(nature.getCompleteCoverage(classes[i].getTestedClass()));
54         }
55         
56     }
57
58     protected void printPaths() {
59         getWriter().println();
60         
61         RegisteredMethod[] rMethods = CoverageTestResult.getRegisteredMethods();
62         for (int i = 0; i < rMethods.length; i++) {
63             getWriter().println(rMethods[i].toString());
64             getWriter().println();
65         }
66     }
67 }
68
Popular Tags