public function generateCVMP($cvmp, $vm)
 {
     //TODO prettify this
     $newCvmps = [];
     $pm = $cvmp['vmp'][$vm];
     Cvmp::removeVm($cvmp, $vm);
     $pms = $cvmp['pmp'];
     unset($pms[$pm]);
     $pms = array_keys($pms);
     foreach ($pms as $pm) {
         if (RulesFreeOfContext::isAllowed($vm, $pm)) {
             $newCvmp = $cvmp;
             Cvmp::addVm($newCvmp, $vm, $pm);
             if (RulesSensitiveToTheContext::isAllowed($newCvmp)) {
                 $newCvmps[] = $newCvmp;
             }
         }
     }
     return $newCvmps;
 }
 /**
  * @depends testExtImpRules
  */
 public function testIsAllowed()
 {
     $this->assertTrue(RulesFreeOfContext::isAllowed(1, 2), "Class Does not match");
     $this->assertFalse(RulesFreeOfContext::isAllowed(2, 2), "Class Does not match");
 }