1 package org
.argeo
.cms
.util
;
3 import java
.io
.Serializable
;
5 /** The status of a test. */
6 public class TesterStatus
implements Serializable
{
7 private static final long serialVersionUID
= 6272975746885487000L;
9 private Boolean passed
= null;
10 private final String uid
;
11 private Throwable throwable
= null;
13 public TesterStatus(String uid
) {
18 public TesterStatus(String uid
, Boolean passed
, Throwable throwable
) {
21 this.throwable
= throwable
;
24 public synchronized Boolean
isRunning() {
25 return passed
== null;
28 public synchronized Boolean
isPassed() {
29 assert passed
!= null;
33 public synchronized Boolean
isFailed() {
34 assert passed
!= null;
38 public synchronized void setPassed() {
42 public synchronized void setFailed() {
46 public synchronized void setFailed(Throwable throwable
) {
48 setThrowable(throwable
);
51 protected void setStatus(Boolean passed
) {
52 if (this.passed
!= null)
53 throw new IllegalStateException("Passed status of test " + uid
+ " is already set (to " + passed
+ ")");
57 protected void setThrowable(Throwable throwable
) {
58 if (this.throwable
!= null)
59 throw new IllegalStateException("Throwable of test " + uid
+ " is already set (to " + passed
+ ")");
60 this.throwable
= throwable
;
63 public String
getUid() {
67 public Throwable
getThrowable() {
72 protected Object
clone() throws CloneNotSupportedException
{
73 // TODO Auto-generated method stub
78 public boolean equals(Object o
) {
79 if (o
instanceof TesterStatus
) {
80 TesterStatus other
= (TesterStatus
) o
;
81 // we don't check consistency for performance purposes
82 // this equals() is supposed to be used in collections or for transfer
83 return other
.uid
.equals(uid
);
89 public int hashCode() {
90 return uid
.hashCode();
94 public String
toString() {
95 return uid
+ "\t" + (passed ?
"passed" : "failed");