From bb5a2a917b78fb13657ac9ebbcc067bd02b22126 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 12 Jun 2011 00:58:47 +0200 Subject: test case library and start of filesystem test --- lib/testcase.php | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 lib/testcase.php (limited to 'lib') diff --git a/lib/testcase.php b/lib/testcase.php new file mode 100644 index 00000000000..19494dc2f19 --- /dev/null +++ b/lib/testcase.php @@ -0,0 +1,93 @@ +. +* +*/ + + +/** + * base class for unit tests + */ +class OC_TestCase{ + private $tests; //array of all tests in this test case + + public function __construct(){ + $this->tests=array(); + $this->results=array(); + $functions=get_class_methods(get_class($this)); + $exclude=get_class_methods('OC_TestCase'); + foreach($functions as $function){ + if(array_search($function,$exclude)===false){ + $this->tests[]=$function; + } + } + } + + public function getTests(){ + return $this->tests; + } + + /** + * function that gets called before each test + */ + private function setup(){ + } + + /** + * function that gets called after each test + */ + private function tearDown(){ + } + + /** + * check if the result equals the expected result + * @param mixed $expected the expected result + * @param mixed $result the actual result + * @param string $error (optional) the error message to display if the result isn't expected + */ + protected function assertEquals($expected,$result,$error=''){ + if($expected!==$result){ + if($expected===true){ + $expected='true'; + } + if($expected===false){ + $expected='false'; + } + if($result===true){ + $result='true'; + } + if($result===false){ + $result='false'; + } + if($error==''){ + $error="Unexpected result, expected '$expected' but was '$result'"; + } + throw new Exception($error); + } + } + + /** + * fail the test + * @param string $error the error message + */ + protected function fail($error){ + throw new Exception($error); + } +} \ No newline at end of file -- cgit v1.2.3