예제 #1
0
 public function testGeraSenarioName()
 {
     $nvms = 10;
     $npms = 10;
     $apr = 0.5;
     list($places, $r_vm, $r_pm) = Scenario::geraPlacements($apr, $nvms, $npms);
     $this->assertEquals($nvms, count($places), "Numero de VMs esta errado.");
     $total = 0;
     foreach ($places as $value) {
         $total += count($value);
     }
     $this->assertEquals($npms * $apr * $nvms, $total, "Numero final de estados esta errado.");
     $this->assertEquals(array_sum($r_vm), $total, "Numero final de estados diferente do r_vm.");
     $this->assertEquals(array_sum($r_pm), $total, "Numero final de estados diferente do r_pm.");
 }
예제 #2
0
 static function geraScenarios($apr, $nvms, $npms)
 {
     $retorno = array();
     foreach ($nvms as $nvm) {
         foreach ($npms as $npm) {
             $scenario = array();
             $scenario['apr'] = $apr;
             $scenario['nvms'] = $nvm;
             $scenario['npms'] = $npm;
             list($places, $r_vm, $r_pm) = Scenario::geraPlacements($apr, $nvm, $npm);
             $scenario['placements'] = $places;
             //Resumo: array cuja key é o nome da VM e o valor é o numero de placements possiveis que ela pode estas
             $scenario['rvm'] = $r_vm;
             //Resumo: array cuja key é o nome da PM e o valor é o numero de VM que ela teoricamente pode hospedar
             $scenario['rpm'] = $r_pm;
             $retorno["r-{$apr},v-{$nvm},p-{$npm}"] = $scenario;
         }
     }
     return $retorno;
 }