Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
6.67% |
2 / 30 |
| FunctionCollection | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
129.08 | |
6.67% |
2 / 30 |
| __callStatic($method, $args) | |
0.00% |
0 / 1 |
51.96 | |
11.76% |
2 / 17 |
|||
| mockFunctionReturn($functionName, $result, $arguments = array()) | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 11 |
|||
| clearMockReturns() | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| <?php | |
| /* | |
| unit tested | |
| */ | |
| namespace aae\abstr { | |
| /** | |
| * | |
| * @package aae\abstr | |
| */ | |
| abstract class FunctionCollection /*extends \aae\abstr\Uninstantiable*/ { | |
| protected static $_mockFunctionReturns = array(); | |
| public static function __callStatic($method, $args) { | |
| if (count(static::$_mockFunctionReturns) > 0) { | |
| if (array_key_exists($method, static::$_mockFunctionReturns)) { | |
| $results = static::$_mockFunctionReturns[$method]; | |
| if (count($args) < 1) { | |
| return $results[0]->result; | |
| } | |
| foreach ($results as $rslt) { | |
| $rsltArguments = $rslt->arguments; | |
| $rsltArgumentsSize = count($rsltArguments); | |
| for ($i=0; $i < count($args); $i++) { | |
| if ($i < $rsltArgumentsSize && | |
| $args[$i] == $rsltArguments[$i]) { | |
| return $rslt->result; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| return call_user_func_array(get_called_class().'::'.$method, $args); | |
| } | |
| public static function mockFunctionReturn($functionName, $result, $arguments = array()) { | |
| if (!is_array($arguments)) { | |
| $arguments = array($arguments); | |
| } | |
| $obj = new \stdClass(); | |
| $obj->result = $result; | |
| $obj->arguments = $arguments; | |
| if (!array_key_exists($functionName, static::$_mockFunctionReturns)) { | |
| static::$_mockFunctionReturns[$functionName] = array(); | |
| } | |
| static::$_mockFunctionReturns[$functionName][] = $obj; | |
| } | |
| public static function clearMockReturns() { | |
| static::$_mockFunctionReturns = array(); | |
| } | |
| } | |
| } |