3 * @package ts_unit_testing
4 * @author Marius Orcsik <marius@habarnam.ro>
7 class tsUnitTest
extends TestSuite
{
11 static private $instance;
13 public function __construct () {
22 static public function execute ($argc, $argv = null) {
23 $loader = new SimpleFileLoader();
27 for ($i = 0; $i < $argc; $i++
) {
28 if ( stristr ($argv[$i], 'package') !== false ) {
29 $sPackageName = $argv[$i+
1];
36 $aPackages = self
::getInstance()->getTestsByPackage ($sPackageName);
37 foreach ($aPackages as $sPath) {
38 $tests[] = $loader->load ($sPath);
41 $aPackages = self
::getInstance()->getAllTests ();
42 foreach ($aPackages as $sPath) {
43 $tests[] = $loader->load ($sPath);
47 foreach ($tests as $suite) {
48 $result = ($suite->run(new DefaultReporter())) && $result;
56 static private function getInstance () {
57 if (!(self
::$instance instanceof tsUnitTest
)) {
58 self
::$instance = new tsUnitTest ();
60 return self
::$instance;
63 private function getTestsByPackage ($sPackageName) {
64 $aFiles = getDirFiles (VSC_TEST_PATH
. $sPackageName);
65 foreach ($aFiles as $key=>$sPath) {
66 if (!stristr($sPath, 'Test.php')) {
73 // private function getAllPackages () {}
75 private function getAllTests () {
76 $aFiles = getDirFiles (VSC_TEST_PATH
);
77 foreach ($aFiles as $key=>$sPath) {
78 if (!stristr($sPath, 'Test.php')) {