Pinq\Tests\Integration\Traversable\TraversableTest::assertThatCalledWithValueAndKeyParametersOnceForEachElementInOrder PHP Method

assertThatCalledWithValueAndKeyParametersOnceForEachElementInOrder() final protected method

final protected assertThatCalledWithValueAndKeyParametersOnceForEachElementInOrder ( callable $traversableQuery, array $data, $returnValue = null )
$traversableQuery callable
$data array
    protected final function assertThatCalledWithValueAndKeyParametersOnceForEachElementInOrder(callable $traversableQuery, array $data, $returnValue = null)
    {
        reset($data);
        $traversable = $traversableQuery(function ($value, $key) use(&$data, $returnValue) {
            $this->assertSame(current($data), $value, 'value must match');
            $this->assertSame(key($data), $key, 'key must match');
            next($data);
            return $returnValue;
        });
        $traversable->asArray();
    }