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."); }
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; }