Failed Conditions
Pull Request — master (#7885)
by Šimon
06:26
created

GetIterableTester::iterableToArray()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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