Exemplo n.º 1
1
 /**
  * @depends testIdentifyFakeEvaluate
  * @expectedException Exception
  **/
 public function testIncompleteAndCrapEvaluations()
 {
     Qualifiers::add('QUAincomplete');
     $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3'];
     $cvmp = Cvmp::buildCVmpByPlacements($places);
     $evals = @Qualifiers::getEvaluation($cvmp);
     $this->assertEquals(2, $evals['v1'], "Value !match");
     unset($evals['v1']);
     foreach ($evals as $vm => $eval) {
         $this->assertEquals(1, $eval, "Value of '{$vm}' !match");
     }
 }
Exemplo n.º 2
0
 static function getBenefit(&$cvmp)
 {
     if (!isset($cvmp[OC_TMP]['benefit'])) {
         $evaluations = Qualifiers::getEvaluation($cvmp);
         $cvmp[OC_TMP]['benefit'] = array_sum($evaluations);
     }
     return $cvmp[OC_TMP]['benefit'];
 }
Exemplo n.º 3
0
 public function isNonDominanted(&$baseCvmp, &$candidateCvmp)
 {
     $evalBase = Qualifiers::getEvaluation($baseCvmp);
     $evalCand = Qualifiers::getEvaluation($candidateCvmp);
     $count = 0;
     foreach ($evalBase as $vm => $value) {
         $count += $evalCand[$vm] - $value;
         if ($value > $evalCand[$vm]) {
             return false;
         }
     }
     return OC_ND_HIGH_CONVERGENCE ? $count > 0 : true;
 }