KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > hudson > tasks > junit > ClassResult


1 package hudson.tasks.junit;
2
3 import hudson.model.AbstractBuild;
4 import org.kohsuke.stapler.StaplerRequest;
5 import org.kohsuke.stapler.StaplerResponse;
6
7 import java.util.ArrayList JavaDoc;
8 import java.util.Collections JavaDoc;
9 import java.util.List JavaDoc;
10
11 /**
12  * Cumulative test result of a test class.
13  *
14  * @author Kohsuke Kawaguchi
15  */

16 public final class ClassResult extends TabulatedResult implements Comparable JavaDoc<ClassResult> {
17     private final String JavaDoc className;
18
19     private final List JavaDoc<CaseResult> cases = new ArrayList JavaDoc<CaseResult>();
20
21     private int passCount,failCount;
22
23     private final PackageResult parent;
24
25     ClassResult(PackageResult parent, String JavaDoc className) {
26         this.parent = parent;
27         this.className = className;
28     }
29
30     public PackageResult getParent() {
31         return parent;
32     }
33
34     public AbstractBuild<?,?> getOwner() {
35         return parent.getOwner();
36     }
37
38     public ClassResult getPreviousResult() {
39         PackageResult pr = parent.getPreviousResult();
40         if(pr==null) return null;
41         return pr.getDynamic(getName(),null,null);
42     }
43
44     public String JavaDoc getTitle() {
45         return "Test Result : "+getName();
46     }
47
48     public String JavaDoc getName() {
49         int idx = className.lastIndexOf('.');
50         if(idx<0) return className;
51         else return className.substring(idx+1);
52     }
53
54     public CaseResult getDynamic(String JavaDoc name, StaplerRequest req, StaplerResponse rsp) {
55         for (CaseResult c : cases) {
56             if(c.getSafeName().equals(name))
57                 return c;
58         }
59         return null;
60     }
61
62
63     public List JavaDoc<CaseResult> getChildren() {
64         return cases;
65     }
66
67     public int getPassCount() {
68         return passCount;
69     }
70
71     public int getFailCount() {
72         return failCount;
73     }
74
75     public void add(CaseResult r) {
76         cases.add(r);
77     }
78
79     void freeze() {
80         passCount=failCount=0;
81         for (CaseResult r : cases) {
82             r.setClass(this);
83             if(r.isPassed()) passCount++;
84             else failCount++;
85         }
86         Collections.sort(cases);
87     }
88
89
90     public int compareTo(ClassResult that) {
91         return this.className.compareTo(that.className);
92     }
93
94     public String JavaDoc getDisplayName() {
95         return getName();
96     }
97 }
98
Popular Tags