/**
  * Applies the @covers annotation filtering.
  *
  * @param array $data
  * @param mixed $id
  */
 protected function applyCoversAnnotationFilter(&$data, $id)
 {
     if ($id instanceof PHPUnit_Framework_TestCase) {
         $testClassName = get_class($id);
         $linesToBeCovered = PHP_CodeCoverage_Util::getLinesToBeCovered($testClassName, $id->getName());
         if ($this->mapTestClassNameToCoveredClassName && empty($linesToBeCovered)) {
             $testedClass = substr($testClassName, 0, -4);
             if (class_exists($testedClass)) {
                 $class = new ReflectionClass($testedClass);
                 $linesToBeCovered = array($class->getFileName() => range($class->getStartLine(), $class->getEndLine()));
             }
         }
     } else {
         $linesToBeCovered = array();
     }
     if (!empty($linesToBeCovered)) {
         $data = array_intersect_key($data, $linesToBeCovered);
         foreach (array_keys($data) as $filename) {
             $data[$filename] = array_intersect_key($data[$filename], array_flip($linesToBeCovered[$filename]));
         }
     } else {
         if ($this->forceCoversAnnotation) {
             $data = array();
         }
     }
 }
 /**
  * @covers            PHP_CodeCoverage_Util::getLinesToBeCovered
  * @covers            PHP_CodeCoverage_Util::resolveCoversToReflectionObjects
  * @expectedException RuntimeException
  */
 public function testGetLinesToBeCovered4()
 {
     PHP_CodeCoverage_Util::getLinesToBeCovered('NotExistingCoveredElementTest', 'testThree');
 }