public function run(SystemUnderTest $systemUnderTest)
 {
     $results = array();
     $systemUnderTest->setUp();
     foreach ($this->tests as $test) {
         $duration = $test['test']->run($systemUnderTest, $test['times']);
         $results[$test['test']->getName()] = $systemUnderTest->createResult($duration);
     }
     $systemUnderTest->tearDown();
     return $results;
 }
 public final function run(SystemUnderTest $systemUnderTest, $times)
 {
     $systemUnderTest->warmUp();
     $this->warmUp($systemUnderTest);
     $timer = new Timer($this->getName());
     $systemUnderTest->start();
     for ($i = 0; $i < $times; $i++) {
         $this->performTest($systemUnderTest, $i);
     }
     $systemUnderTest->end();
     return $timer->getElapsedTime() * 1000;
 }