static function getCostBenefit(&$cvmp) { if (!isset($cvmp[OC_TMP]['cb'])) { $candBen = Qualifiers::getBenefit($cvmp); $realBen = Qualifiers::getBenefit(Cache::$realCvmp); $cvmp[OC_TMP]['benefit'] = $candBen - $realBen; $cvmp[OC_TMP]['cb'] = ($candBen - $realBen) / Costs::getCost($cvmp); } return $cvmp[OC_TMP]['cb']; }
public function handlerStatus() { $fmt = 'Class[%s] %s[%s]'; error_log("\nCosts:"); error_log("Main Cost Class[" . Costs::getMainCost() . ']'); foreach (Costs::getClasses() as $class) { error_log(sprintf($fmt, $class, 'Cost', $class::getMaxCost())); } error_log("\nQualifiers:"); foreach (Qualifiers::getClasses() as $class) { error_log(sprintf($fmt, $class, 'Weight', $class::getWeight())); } error_log("\nRules Free Of Context:"); foreach (RulesFreeOfContext::getClasses() as $class) { error_log(sprintf($fmt, $class, 'isValid', $class::isEnable())); } error_log("\nRules Sensitive To The Context:"); foreach (RulesSensitiveToTheContext::getClasses() as $class) { error_log(sprintf($fmt, $class, 'isValid', $class::isEnable())); } echo PHP_EOL; }
public function testOrganizeDummy() { Costs::add('CostTestMigrations'); $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3']; $cvmp0 = Cvmp::buildCVmpByPlacements($places); $oc = new OrderCloud($cvmp0); $best = $oc->organize($cvmp0); unset($best[OC_TMP]); unset($cvmp0[OC_TMP]); unset($best[OC_LAST_ADD_VM]); unset($best[OC_LAST_REM_VM]); unset($best[OC_LAST_ADD_PM]); unset($best[OC_LAST_REM_PM]); $this->assertEquals($cvmp0, $best); }
public function testGetMaxCost() { $max = Costs::getMaxCost(); $this->assertequals(PHP_INT_MAX, $max, "Default Cost is wrong"); }
/** * @depends testBenefit */ public function testCostBenefit() { Qualifiers::add('QUAtest'); Qualifiers::add('QUAmirror'); Costs::add('COSTextimp'); $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3']; $realCvmp = Cvmp::buildCVmpByPlacements($places); $cvmp = Cvmp::buildCVmpByPlacements($places); $cvmp['mirror'] = 11; // 220 - 200 / 2 (costTest = 2) $this->assertEquals(10, Qualifiers::getCostBenefit($cvmp), ""); }
static function getMainCost() { $costs = Costs::getInstance(); return $costs->mainCostClass; }
/** * @depends testGetCostEmptyClasses */ public function testCOSTextimp() { Costs::add('COSTextimp'); $this->assertEquals(2, Costs::getCost($x), ""); }