Exemplo n.º 1
1
 public function setUp()
 {
     foreach (Costs::getClasses() as $class) {
         Costs::del($class);
     }
     foreach (Qualifiers::getClasses() as $class) {
         Qualifiers::del($class);
     }
     foreach (RulesFreeOfContext::getClasses() as $class) {
         RulesFreeOfContext::del($class);
     }
     foreach (RulesSensitiveToTheContext::getClasses() as $class) {
         RulesSensitiveToTheContext::del($class);
     }
 }
Exemplo n.º 2
1
 static final function _evaluate(&$cvmp)
 {
     $class = get_called_class();
     $evaluation = $class::evaluate($cvmp);
     //TODO test values > 0 & <=2
     //Testing is Value is an array
     if (!is_array($evaluation)) {
         Qualifiers::del($class);
         throw new Exception("Evaluations sent from class '{$class}' is not an Array. Class Removed.", 1);
     }
     $return = [];
     //Selecting just the vms evaluations, cutting possible garbage
     foreach ($cvmp['vmp'] as $vm => $pm) {
         $return[$vm] = isset($evaluation[$vm]) ? $evaluation[$vm] : 1;
         unset($evaluation[$vm]);
     }
     //Informing about the garbage found
     if (count($evaluation) > 0) {
         Qualifiers::del($class);
         throw new Exception("Class '{$class}' is putting crap in the evaluation result: \n" . print_r($evaluation, true), 1);
     }
     return $return;
 }
Exemplo n.º 3
0
 public function testOrganize()
 {
     $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3'];
     $cvmp0 = Cvmp::buildCVmpByPlacements($places);
     $cvmp1 = Cvmp::buildCVmpByPlacements($places);
     $cvmp1['mirror'] = 11;
     $oc = new OrderCloud($cvmp0);
     Qualifiers::add('QUAconsolidate');
     $best = $oc->organize($cvmp1);
     unset($best[OC_TMP]);
     $x = array_search(5, $best['rpm']);
     $this->assertEquals(5, $best['rpm'][$x]);
     Qualifiers::del('QUAconsolidate');
 }