PhpBench\Tests\Unit\Benchmark\Executor\DebugExecutorTest::testConstantTimes PHP Метод

testConstantTimes() публичный Метод

It should return constant times.
public testConstantTimes ( array $times, array $spread, $nbCollections, $nbIterations, $expectedTimes )
$times array
$spread array
    public function testConstantTimes(array $times, array $spread, $nbCollections, $nbIterations, $expectedTimes)
    {
        $actualTimes = [];
        for ($i = 0; $i < $nbCollections; $i++) {
            $variant = $this->prophesize(Variant::class);
            for ($ii = 0; $ii < $nbIterations; $ii++) {
                $iteration = $this->prophesize(Iteration::class);
                $iteration->getVariant()->willReturn($variant->reveal());
                $iteration->getIndex()->willReturn($ii);
                $iteration->setResult(Argument::type(TimeResult::class))->will(function ($args) use(&$actualTimes) {
                    $actualTimes[] = $args[0]->getNet();
                });
                $iteration->setResult(Argument::type(MemoryResult::class))->shouldBeCalled();
                $this->executor->execute($this->subjectMetadata->reveal(), $iteration->reveal(), new Config('test', ['times' => $times, 'spread' => $spread]));
            }
        }
        $this->assertEquals($expectedTimes, $actualTimes);
    }