/** * @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"); } }
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']; }
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; }