Mercurial > hg > MauveTestCoverage
changeset 15:ed99188fff20 draft
* src/ReportGenerator.java:
Fixed the code which is used to count the number of tested
classes in a given package.
author | Pavel Tisnovsky <ptisnovs@redhat.com> |
---|---|
date | Tue, 15 May 2012 17:50:12 +0200 |
parents | eec2474fdaaa |
children | b6c8372f5723 |
files | ChangeLog src/ReportGenerator.java |
diffstat | 2 files changed, 36 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Mar 23 11:55:40 2012 +0100 +++ b/ChangeLog Tue May 15 17:50:12 2012 +0200 @@ -1,3 +1,9 @@ +2012-05-15 Pavel Tisnovsky <ptisnovs@redhat.com> + + * src/ReportGenerator.java: + Fixed the code which is used to count the number of tested + classes in a given package. + 2012-03-23 Pavel Tisnovsky <ptisnovs@redhat.com> * src/ClassInfo.java:
--- a/src/ReportGenerator.java Fri Mar 23 11:55:40 2012 +0100 +++ b/src/ReportGenerator.java Tue May 15 17:50:12 2012 +0200 @@ -216,7 +216,7 @@ // compute number of all classes in a package final int allClassesCnt = numberOfClassesInPackage(packageName, allClasses); // compute number of classes covered by tests - final int testedClassesCnt = numberOfClassesInPackage(packageName, testedClasses); + final int testedClassesCnt = numberOfTestedClassesInPackage(packageName, testedClasses, classInfoMap); // -> in percent final float classPercentage = allClassesCnt == 0 ? 0.0f : 100.0f * testedClassesCnt / allClassesCnt; // table row background color is based on percentual test coverage ration @@ -300,6 +300,35 @@ } /** + * Calculate number of tested classes in given package. + * + * @param packageName + * name of package + * @param classes + * set of class names + * @param classInfoMap + * @return number of classes in given package + */ + private static int numberOfTestedClassesInPackage(String packageName, Set<String> classes, Map<String, ClassInfo> classInfoMap) + { + int cnt = 0; + // iterate through all class names + for (String className : classes) + { + // count only classes in given package + if (className.substring(0, className.lastIndexOf('.')).equals(packageName)) + { + ClassInfo clsInfo = classInfoMap.get(className); + if (clsInfo != null && !clsInfo.getTestedMethods().isEmpty()) + { + cnt++; + } + } + } + return cnt; + } + + /** * Add list of all classes to a list of string which represents generated * report. *