/**
  * Log collected source files.
  *
  * @param  JsonFile $jsonFile
  * @return void
  */
 protected function logCollectedSourceFiles(JsonFile $jsonFile)
 {
     // @codeCoverageIgnoreStart
     $color = function ($coverage, $format) {
         // green  90% - 100% <info>
         // yellow 80% -  90% <comment>
         // red     0% -  80% <fg=red>
         if ($coverage >= 90) {
             return sprintf('<info>%s</info>', $format);
         } elseif ($coverage >= 80) {
             return sprintf('<comment>%s</comment>', $format);
         } else {
             return sprintf('<fg=red>%s</fg=red>', $format);
         }
     };
     // @codeCoverageIgnoreEnd
     $sourceFiles = $jsonFile->getSourceFiles();
     $numFiles = count($sourceFiles);
     $this->logger->info(sprintf('Found <info>%s</info> source file%s:', number_format($numFiles), $numFiles > 1 ? 's' : ''));
     foreach ($sourceFiles as $sourceFile) {
         /* @var $sourceFile \Contrib\Bundle\CoverallsV1Bundle\Entity\SourceFile */
         $coverage = $sourceFile->reportLineCoverage();
         $template = '  - ' . $color($coverage, '%6.2f%%') . ' %s';
         $this->logger->info(sprintf($template, $coverage, $sourceFile->getName()));
     }
     $coverage = $jsonFile->reportLineCoverage();
     $template = 'Coverage: ' . $color($coverage, '%6.2f%% (%d/%d)');
     $metrics = $jsonFile->getMetrics();
     $this->logger->info(sprintf($template, $coverage, $metrics->getCoveredStatements(), $metrics->getStatements()));
 }
 /**
  * @test
  * @depends collectSourceFiles
  */
 public function collectSourceFileTest2(JsonFile $jsonFile)
 {
     $sourceFiles = $jsonFile->getSourceFiles();
     $name2 = 'test2.php';
     $path2 = $this->rootDir . DIRECTORY_SEPARATOR . $name2;
     $this->assertArrayHasKey($path2, $sourceFiles);
     $this->assertSourceFileTest2($sourceFiles[$path2]);
 }