apply() public static méthode

Takes an instance of an object (usually a Collection object) containing test instances. Introspects the test subject classes to extract cyclomatic complexity data.
public static apply ( object $report, array $tests, array $options = [] ) : object
$report object Instance of Report which is calling apply.
$tests array The test to apply this filter on
$options array Additional options to overwrite dependencies. - `'classes'` _array_: Overwrite default classes array.
Résultat object Returns the instance of `$tests`.
 /**
  * Tests the `apply` method which provides a high-level interface to the complexity generation.
  * It tests the cyclomatic complexity of the FooObject class and its methods.
  *
  * @see lithium\test\filter\Complexity::apply()
  */
 public function testApply()
 {
     extract($this->_paths);
     $collection = new CollectionMock();
     $group = new GroupMock();
     $group->add($testClassTest);
     $this->report->group = $group;
     InspectorMock::applyFilter('methods', function ($self, $params, $chain) {
         return array('foo' => array(1), 'bar' => array(2));
         // return 2 methods
     });
     InspectorMock::applyFilter('lines', function ($self, $params, $chain) {
         return 'return;';
         // return a single return
     });
     ParserMock::applyFilter('tokenize', function ($self, $params, $chain) {
         return array(1, 2, 3);
         // always return 3 methods
     });
     $group->applyFilter('tests', function ($self, $params, $chain) use($collection) {
         return $collection;
     });
     $collection->applyFilter('invoke', function ($self, $params, $chain) {
         return array('FooObject');
     });
     Complexity::apply($this->report, $group->tests(), array('classes' => array('parser' => 'lithium\\analysis\\parser\\Mock', 'inspector' => 'lithium\\analysis\\inspector\\Mock')));
     $results = array_pop($this->report->results['filters'][$complexity]);
     $expected = array($testClass => array('foo' => 4, 'bar' => 4));
     $this->assertEqual($expected, $results);
 }
 /**
  * Tests the `collect` method which takes the raw report data and prepares it for analysis.
  *
  * @see lithium\test\filter\Complexity::collect()
  */
 public function testCollect()
 {
     extract($this->_paths);
     $group = new Group();
     $group->add($testClassTest);
     $this->report->group = $group;
     Complexity::apply($this->report, $group->tests());
     $results = Complexity::collect($this->report->results['filters'][$complexity]);
     $expected = array($testClass => $this->_metrics);
     $this->assertEqual($expected, $results);
 }