diff --git a/jcoverage/src/main/org/apache/maven/jcoveragereport/Clazz.java b/jcoverage/src/main/org/apache/maven/jcoveragereport/Clazz.java index 905c4ba5..c34128c1 100644 --- a/jcoverage/src/main/org/apache/maven/jcoveragereport/Clazz.java +++ b/jcoverage/src/main/org/apache/maven/jcoveragereport/Clazz.java @@ -63,7 +63,7 @@ import java.util.Map; /** * @author Emmanuel Venisse - * @version $Id: Clazz.java,v 1.2 2003/09/09 15:52:57 evenisse Exp $ + * @version $Id: Clazz.java,v 1.3 2003/09/24 05:24:33 dion Exp $ */ public class Clazz { @@ -141,6 +141,18 @@ public class Clazz public String getBranchRate() { + try + { + if (new Double(lineRate).doubleValue() == 0.0d) + { + return new String("0.0"); + } + } catch (NumberFormatException nfe) + { + // could happen if the coverage.xml format changes. + return new String("0"); + } + return branchRate; } diff --git a/jcoverage/src/main/org/apache/maven/jcoveragereport/Coverage.java b/jcoverage/src/main/org/apache/maven/jcoveragereport/Coverage.java index 7239f0c6..41b15c41 100644 --- a/jcoverage/src/main/org/apache/maven/jcoveragereport/Coverage.java +++ b/jcoverage/src/main/org/apache/maven/jcoveragereport/Coverage.java @@ -65,7 +65,7 @@ import java.util.HashMap; /** * @author Emmanuel Venisse - * @version $Id: Coverage.java,v 1.1 2003/09/03 16:27:14 evenisse Exp $ + * @version $Id: Coverage.java,v 1.2 2003/09/24 05:24:33 dion Exp $ */ public class Coverage { @@ -156,6 +156,27 @@ public class Coverage } public String getCoveredPercentLine() + { + return String.valueOf(getLineCoverage()); + } + + public String getCoveredPercentBranch() + { + double total = 0.00d; + + if (getLineCoverage() > 0.00d) + { + for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) + { + Clazz theClass = (Clazz) iter.next(); + total += new Double(theClass.getBranchRate()).floatValue(); + } + } + + return String.valueOf(total / getClasses().size()); + } + + private double getLineCoverage() { double total = 0.00d; for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) @@ -163,17 +184,6 @@ public class Coverage Clazz theClass = (Clazz) iter.next(); total += new Double(theClass.getLineRate()).floatValue(); } - return String.valueOf(total / getClasses().size()); - } - - public String getCoveredPercentBranch() - { - double total = 0.00d; - for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) - { - Clazz theClass = (Clazz) iter.next(); - total += new Double(theClass.getBranchRate()).floatValue(); - } - return String.valueOf(total / getClasses().size()); + return total / getClasses().size(); } } diff --git a/jcoverage/src/main/org/apache/maven/jcoveragereport/Package.java b/jcoverage/src/main/org/apache/maven/jcoveragereport/Package.java index 8f454818..f2d4b666 100644 --- a/jcoverage/src/main/org/apache/maven/jcoveragereport/Package.java +++ b/jcoverage/src/main/org/apache/maven/jcoveragereport/Package.java @@ -63,7 +63,7 @@ import java.util.List; /** * @author Emmanuel Venisse - * @version $Id: Package.java,v 1.2 2003/09/09 15:52:57 evenisse Exp $ + * @version $Id: Package.java,v 1.3 2003/09/24 05:24:33 dion Exp $ */ public class Package { @@ -125,23 +125,37 @@ public class Package public String getCoveredPercentLine() { - double total = 0.00d; - for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) - { - Clazz theClass = (Clazz) iter.next(); - total += new Double(theClass.getLineRate()).floatValue(); - } - return String.valueOf(total / getClasses().size()); + return String.valueOf(getLineCoverage()); } public String getCoveredPercentBranch() { double total = 0.00d; + + if (getLineCoverage() > 0.00d) + { + for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) + { + Clazz theClass = (Clazz) iter.next(); + total += new Double(theClass.getBranchRate()).floatValue(); + } + + total /= getClasses().size(); + } + + return String.valueOf(total); + } + + private double getLineCoverage() + { + double total = 0.00d; + for (Iterator iter = getClasses().iterator(); iter.hasNext(); ) { Clazz theClass = (Clazz) iter.next(); - total += new Double(theClass.getBranchRate()).floatValue(); + total += new Double(theClass.getLineRate()).floatValue(); } - return String.valueOf(total / getClasses().size()); + + return (total / getClasses().size()); } }