public function getSuiteCollection($params)
{
$params = array_merge(['error' => false, 'groups' => [], 'params' => []], $params);
$this->suiteCollection->getSuites()->willReturn([$this->suite->reveal()]);
$this->suite->getUuid()->willReturn(1234);
$this->suite->getDate()->willReturn(new \DateTime('2015-01-01'));
$this->suite->getContextName()->willReturn('test');
$this->suite->getConfigPath()->willReturn('/path/to/config.json');
$this->suite->getEnvInformations()->willReturn([$this->env1]);
$this->env1->getName()->willReturn('info1');
$this->env1->getIterator()->willReturn(new \ArrayIterator(['foo' => 'bar']));
$this->suite->getBenchmarks()->willReturn([$this->bench1->reveal()]);
$this->bench1->getSubjects()->willReturn([$this->subject1->reveal()]);
$this->bench1->getClass()->willReturn('Bench1');
$this->subject1->getVariants()->willReturn([$this->variant1->reveal()]);
$this->subject1->getName()->willReturn('subjectName');
$this->subject1->getGroups()->willReturn($params['groups']);
$this->subject1->getSleep()->willReturn(5);
$this->subject1->getOutputTimeUnit()->willReturn('milliseconds');
$this->subject1->getOutputTimePrecision()->willReturn(7);
$this->subject1->getOutputMode()->willReturn('throughput');
$this->subject1->getRetryThreshold()->willReturn(10);
$this->variant1->getWarmup()->willReturn(50);
$this->variant1->getParameterSet()->willReturn(new ParameterSet(1, $params['params']));
$this->variant1->hasErrorStack()->willReturn($params['error']);
$this->variant1->isComputed()->willReturn(true);
$this->variant1->getRevolutions()->willReturn(100);
if ($params['error']) {
$this->variant1->getErrorStack()->willReturn(new ErrorStack($this->variant1->reveal(), [new Error('This is an error', 'ErrorClass', 0, 1, 2, '-- trace --')]));
}
$this->variant1->getStats()->willReturn(new Distribution([0.1]));
$this->variant1->getIterator()->willReturn(new \ArrayIterator([$this->iteration1->reveal()]));
$this->iteration1->getResults()->willReturn([new TimeResult(10), new MemoryResult(100, 110, 109), new ComputedResult(0, 0, 5)]);
return $this->suiteCollection->reveal();
}