Merged xdebug from 1.3.x
[phpeclipse.git] / net.sourceforge.phpeclipse.phpunit / src / net / sourceforge / phpeclipse / phpunit / testpool / TestPool.java
index 008cb3d..ddd0422 100644 (file)
@@ -1,70 +1,68 @@
-/*
- * 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.HashMap;
-import java.util.Iterator;
-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 TestPool {
 
-       //private TestSuite currentParentTestSuite;
+       // private TestSuite currentParentTestSuite;
        private HashMap tests;
+
        private TestSuite root;
+
        private TestSuite currentTestSuite;
-       
-       
+
        /**
         * 
         */
        public TestPool(String rootTitle) {
-               
+
                tests = new HashMap();
-               root = new TestSuite(rootTitle, "-1", 0);
-               
+               root = null;
                currentTestSuite = root;
-               
+
        }
 
        /**
         * @param test
         */
        public void addTest(TestCase test) {
-               
+
                tests.put(test.getTestID(), test);
-               
+
                currentTestSuite.addTestCase(test);
-               
-               
-               //if we run all tests. then this is the end of this test suite.
-               if( currentTestSuite != root && currentTestSuite.isFinished()) {
-                       
+
+               // if we run all tests. then this is the end of this test suite.
+               if (currentTestSuite != root && currentTestSuite.isFinished()) {
+
                        currentTestSuite = currentTestSuite.getParent();
 
-               }                               
-               
-       } 
+               }
+
+       }
 
        /**
         * @param suite
         * @param numTestsRunSinceStartOfTestSuite
         */
        public void addTestSuite(TestSuite suite) {
-       
-       //add as sibling
-               currentTestSuite.addTestSuite(suite);
-               suite.setParent(currentTestSuite);
+
+               if (root == null) {
+                       root = suite;
+               } else {
+
+                       // add as sibling
+                       currentTestSuite.addTestSuite(suite);
+                       suite.setParent(currentTestSuite);
+
+               }
 
                currentTestSuite = suite;
        }
@@ -73,10 +71,10 @@ public class TestPool {
         * @return
         */
        public TestSuite getRoot() {
-               
+
                return root;
        }
-       
+
        /**
         * @param r
         */
@@ -84,97 +82,81 @@ public class TestPool {
                this.root = r;
        }
 
-
-       
        /**
         * @param testID
         * @return
         */
        public TestCase getTest(String testID) {
-                               
+
                return (TestCase) tests.get(testID);
        }
 
        public String toString() {
-               
+
                String string = "";
-               
+
                TestSuite node = root;
-               
+
                string = root.toString();
 
-               return string;                  
-       
-       }
+               return string;
 
-       private int countSuiteExpectedTests(TestSuite suite) {
-               
-               int total = 0;
-               
-               total += suite.getNumTestCasesExpected();
-               
-               for(int i = 0; i < suite.getTestSuites().size(); i++) 
-                       total += countSuiteExpectedTests((TestSuite) suite.getTestSuites().elementAt(i));
-               
-               return total;
-       
        }
 
        public int getNumTestsOverall() {
-       
-               return countSuiteExpectedTests(root);
-                               
+
+               int total = root.getNumTestCasesExpected();
+               System.out.println("total: " + total);
+               return total;
+
        }
-       
+
        public int getNumTestsRun() {
-               
+
                return tests.size();
-               
-                       
+
        }
-       
+
        public int getNumFailures() {
-               
+
                int total = 0;
-               
-               Iterator i = tests.keySet().iterator();
-               String key = "";
-               while (i.hasNext()) {
-                       
-                       
-                       key = (String) i.next();
-                       TestCase element = (TestCase) tests.get(key);
-                       
-                       
-                       if(element.isFailure())
-                               total++;
-                       
-               }
-                       
+
+               // Iterator i = tests.keySet().iterator();
+               // String key = "";
+               // while (i.hasNext()) {
+               //                      
+               //                      
+               // key = (String) i.next();
+               // TestCase element = (TestCase) tests.get(key);
+               //                      
+               //                      
+               // if(element.isFailure())
+               // total++;
+               //                      
+               // }
+
                return total;
        }
-       
+
        public int getNumErrors() {
 
                int total = 0;
-               
-//             Iterator i = tests.keySet().iterator();
-//             String key = "";
-//             while (i.hasNext()) {
-//                     
-//                     
-//                     key = (String) i.next();
-//                     TestCase element = (TestCase) tests.get(key);
-//                                             
-//                     if(element.isError())
-//                             total++;
-//                     
-//             }
-                       
+
+               // Iterator i = tests.keySet().iterator();
+               // String key = "";
+               // while (i.hasNext()) {
+               //                      
+               //                      
+               // key = (String) i.next();
+               // TestCase element = (TestCase) tests.get(key);
+               //                                              
+               // if(element.isError())
+               // total++;
+               //                      
+               // }
+
                return total;
-       
+
        }
-       
-       
 
 }