Failed Conditions
Pull Request — master (#7885)
by Šimon
16:21
created

GetIterableTester::assertResultsAreTheSame()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Doctrine\Tests;
6
7
use Doctrine\ORM\Query;
8
use PHPUnit\Framework\Assert;
9
use function is_array;
10
use function iterator_to_array;
11
12
final class GetIterableTester
13
{
14
    public static function assertResultsAreTheSame(Query $query) : void
15
    {
16
        $result   = $query->getResult();
17
        $iterable = $query->getIterable();
18
19
        Assert::assertSame($result, self::iterableToArray($iterable));
20
    }
21
22
    /**
23
     * Copy the iterable into an array. If the iterable is already an array, return it.
24
     *
25
     * @return mixed[]
26
     */
27
    private static function iterableToArray(iterable $iterable) : array
28
    {
29
        return is_array($iterable) ? $iterable : iterator_to_array($iterable, true);
30
    }
31
}
32