1) Fire 'Terminate' event on every thread on script termination. Fixes bug #1548528.
[phpeclipse.git] / net.sourceforge.phpeclipse.phpunit / src / net / sourceforge / phpeclipse / phpunit / testpool / TestSuite.java
index 9d565da..90cea9e 100644 (file)
@@ -1,23 +1,24 @@
-/*
- * Created on Jul 31, 2004
+/*************************************************************************
+ * @author Ali Echihabi (ali_echihabi@ieee.org, ali.echihabi@souss.ca)
  *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
+ * Plugin for PHP unit Testing.
+ * www.phpeclipse.de
+ * 
+ *************************************************************************/
+
+
 package net.sourceforge.phpeclipse.phpunit.testpool;
 
 import java.util.Vector;
 
-/**
- * @author Ali Echihabi
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
+
 public class TestSuite {
 
 
 
+       private boolean hasFailure;
+       private boolean isAllPass;
+       private boolean hasError;
        private Vector testCases; // current or actual.
        private Vector testSuites; // current or actual.
        private String name;
@@ -26,22 +27,7 @@ public class TestSuite {
        private int numTestCasesRunSoFar;
        TestSuite parent;
 
-       /**
-        * @param name
-        * @param testID
-        * @param testCount
-        */
-       public TestSuite(String name, String testID, int testCount) {
-               
-               this.parent = null;
-               this.id = testID;
-               this.name = name;
-               this.numTestCasesExpected = testCount;
-               
-               testCases = new Vector();
-               testSuites = new Vector();
-               
-       }
+
 
        /**
         * @param name
@@ -57,6 +43,10 @@ public class TestSuite {
        
                testCases = new Vector();
                testSuites = new Vector();
+               
+               hasError = false;
+               isAllPass = true;
+               hasFailure = false;
        }
                        
        public void addTestCase(TestCase test) {
@@ -203,4 +193,51 @@ public class TestSuite {
                testSuites = vector;
        }
 
+       /**
+        * @return
+        */
+       public boolean hasError() {
+
+               return hasError;                
+
+       }
+       
+       public void setHasError() {
+               
+               if(hasError)
+                       return;
+                       
+               hasError = true;
+               
+               if(parent != null)
+                       parent.setHasError();
+       }
+
+
+       /**
+        * @return
+        */
+       public boolean hasFailure() {
+
+               return hasFailure;              
+
+       }
+       
+       public void setHasFailure() {
+               
+               if(hasFailure)
+                       return;
+                       
+               hasFailure = true;
+               
+               if(parent != null)
+                       parent.setHasFailure();
+       }
+       
+
+       public boolean isAllPass() {
+               
+               return !hasError() && !hasFailure();
+               
+       }       
 }