getParameterSets() public method

Override parameters.
public getParameterSets ( $default = null ) : mixed[]
return mixed[]
示例#1
0
 /**
  * The overridden parameter sets should be nested in an array of an array.
  */
 public function testGetParameterSets()
 {
     $context = new RunnerContext(__DIR__, array('parameters' => array('nb_elements' => 10)));
     $this->assertEquals(array(array(array('nb_elements' => 10))), $context->getParameterSets(array(array('nb_elements' => 100))));
 }
示例#2
0
 private function runSubject(ExecutorInterface $executor, RunnerContext $context, Subject $subject, SubjectMetadata $subjectMetadata)
 {
     $parameterSets = $context->getParameterSets($subjectMetadata->getParameterSets());
     $paramsIterator = new CartesianParameterIterator($parameterSets);
     // create the variants.
     foreach ($paramsIterator as $parameterSet) {
         foreach ($subjectMetadata->getIterations() as $nbIterations) {
             foreach ($subjectMetadata->getRevs() as $revolutions) {
                 foreach ($subjectMetadata->getWarmup() as $warmup) {
                     $variant = $subject->createVariant($parameterSet, $revolutions, $warmup);
                     $variant->spawnIterations($nbIterations);
                 }
             }
         }
     }
     // run the variants.
     foreach ($subject->getVariants() as $variant) {
         $this->runVariant($executor, $context, $subjectMetadata, $variant);
     }
     return $subject;
 }
示例#3
0
 private function runSubject(ExecutorInterface $executor, RunnerContext $context, SubjectMetadata $subject, \DOMElement $subjectEl)
 {
     $parameterSets = $context->getParameterSets($subject->getParameterSets());
     $paramsIterator = new CartesianParameterIterator($parameterSets);
     foreach ($paramsIterator as $parameterSet) {
         $variantEl = $subjectEl->ownerDocument->createElement('variant');
         $variantEl->setAttribute('sleep', $context->getSleep($subject->getSleep()));
         $variantEl->setAttribute('output-time-unit', $subject->getOutputTimeUnit() ?: TimeUnit::MICROSECONDS);
         $variantEl->setAttribute('output-mode', $subject->getOutputMode() ?: TimeUnit::MODE_TIME);
         $variantEl->setAttribute('revs', $context->getRevolutions($subject->getRevs()));
         $variantEl->setAttribute('warmup', $context->getWarmup($subject->getWarmup()));
         foreach ($parameterSet as $name => $value) {
             $parameterEl = $this->createParameter($subjectEl, $name, $value);
             $variantEl->appendChild($parameterEl);
         }
         $subjectEl->appendChild($variantEl);
         $this->runIterations($executor, $context, $subject, $parameterSet, $variantEl);
     }
 }
示例#4
0
 /**
  * The overridden parameter sets should be nested in an array of an array.
  */
 public function testGetParameterSets()
 {
     $context = new RunnerContext(__DIR__, ['parameters' => ['nb_elements' => 10]]);
     $this->assertEquals([[['nb_elements' => 10]]], $context->getParameterSets([['nb_elements' => 100]]));
 }