/**
  * @param Build $build
  */
 public function generateBuildStatistics(Build $build)
 {
     $statistic = new Build\Statistic();
     $statistic->setName('method-coverage')->setValue($this->details['coveredMethods']);
     $build->addStatistic($statistic);
     $statistic = new Build\Statistic();
     $statistic->setName('statement-coverage')->setValue($this->details['coverageStatements']);
     $build->addStatistic($statistic);
     $statistic = new Build\Statistic();
     $statistic->setName('conditional-coverage')->setValue($this->details['coverageConditionals']);
     $build->addStatistic($statistic);
     $statistic = new Build\Statistic();
     $statistic->setName('total-coverage')->setValue($this->details['coverage']);
     $build->addStatistic($statistic);
     if ($build->getParent()) {
         if (isset($this->details['methodCoverageChange'])) {
             $statistic = new Build\Statistic();
             $statistic->setName('method-coverage-change');
             $statistic->setValue($this->details['methodCoverageChange']);
             $build->addStatistic($statistic);
         }
         if (isset($this->details['statementCoverageChange'])) {
             $statistic = new Build\Statistic();
             $statistic->setName('statement-coverage-change');
             $statistic->setValue($this->details['statementCoverageChange']);
             $build->addStatistic($statistic);
         }
         if (isset($this->details['conditionalCoverageChange'])) {
             $statistic = new Build\Statistic();
             $statistic->setName('conditional-coverage-change');
             $statistic->setValue($this->details['conditionalCoverageChange']);
             $build->addStatistic($statistic);
         }
         if (isset($this->details['totalCoverageChange'])) {
             $statistic = new Build\Statistic();
             $statistic->setName('total-coverage-change');
             $statistic->setValue($this->details['totalCoverageChange']);
             $build->addStatistic($statistic);
             $alert = new Build\Alert();
             $message = 'Code Coverage %s by ' . number_format(abs($this->details['totalCoverageChange']), 2) . '%%';
             if ($this->details['totalCoverageChange'] < 0) {
                 $alert->setType('warning');
                 $alert->setDescription(sprintf($message, 'Decreased'));
             } elseif ($this->details['totalCoverageChange'] > 0) {
                 $alert->setType('success');
                 $alert->setDescription(sprintf($message, 'Increased'));
             } else {
                 $alert->setType('info');
                 $alert->setDescription('Code Coverage Remained the Same');
             }
             $build->addAlert($alert);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * @param Statistic $statistic
  * @return $this
  */
 public function addStatistic(Statistic $statistic)
 {
     $statistic->setBuild($this);
     $this->getStatistics()->add($statistic);
     return $this;
 }