Exemplo n.º 1
1
 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;
 }
Exemplo n.º 2
0
 /**
  * @depends testEvaluate
  */
 public function testEvaluate2()
 {
     Qualifiers::add('QUAtest');
     Qualifiers::add('QUAmirror');
     $this->assertEquals(2, count(Qualifiers::getClasses()), "Wrong number of Qualifiers");
     $places = ['v1' => 'p1', 'v2' => 'p1', 'v3' => 'p2', 'v4' => 'p2', 'v5' => 'p3'];
     $expected = ['v1' => 40, 'v2' => 40, 'v3' => 40, 'v4' => 40, 'v5' => 40];
     $cvmp = Cvmp::buildCVmpByPlacements($places);
     $this->assertEquals($expected, Qualifiers::getEvaluation($cvmp), "");
 }
Exemplo n.º 3
0
 /**
  * @ depends testQUAextimp
  * @ expectedException Exception
  */
 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.º 4
0
 static function getEvaluation(&$cvmp)
 {
     if (!isset($cvmp[OC_TMP]['values'])) {
         $qualifiers = Qualifiers::getClasses();
         foreach ($cvmp['vmp'] as $vm => $pm) {
             $cvmp[OC_TMP]['values'][$vm] = 1;
         }
         foreach ($qualifiers as $class) {
             $normEval = $class::_evaluate($cvmp);
             $w = $class::getWeight();
             foreach ($normEval as $vm => $eval) {
                 $cvmp[OC_TMP]['values'][$vm] *= pow($eval, $w);
             }
         }
     }
     return $cvmp[OC_TMP]['values'];
 }