protected final function assertMatches(\Pinq\ITraversable $traversable, array $array, $message = '')
{
$firstIterationArray = [];
foreach ($traversable as $key => $value) {
$firstIterationArray[$key] = $value;
}
$secondIterationArray = [];
foreach ($traversable as $key => $value) {
$secondIterationArray[$key] = $value;
}
//Ignore keys as may be incompatible with foreach
$trueIteratorArray = [];
foreach ($traversable->getTrueIterator() as $value) {
$trueIteratorArray[] = $value;
}
$explicitArray = $traversable->asArray();
$this->assertSame($array, $firstIterationArray, $message);
$this->assertSame($array, $secondIterationArray, $message);
$this->assertSame($array, $explicitArray, $message);
$this->assertSame(array_values($array), $trueIteratorArray, $message);
}