MockBuilder::getPath()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 5
ccs 3
cts 3
cp 1
rs 9.4286
cc 1
eloc 3
nc 1
nop 0
crap 1
1
<?php
2
namespace Pumpkin\Mock;
3
4
use Pumpkin\Test\TestHelper;
5
use TRex\Parser\ClassAnalyzer;
6
7
/**
8
 * Class MocksBuilder
9
 * @package Pumpkin\Mock
10
 * @author Raphaël Lefebvre <[email protected]>
11
 */
12
class MockBuilder extends TestHelper
13
{
14
15
    /**
16
     * @param array $constructorArgs
17
     * @return object[]
18
     */
19 5
    public function getMocks(array $constructorArgs = array())
20
    {
21 5
        $result = [];
22 5
        foreach ($this->getClassReflections() as $className => $classReflection) {
23 3
            $result[$className] = $classReflection->newInstanceArgs($constructorArgs);
24 4
        }
25 4
        return $result;
26
    }
27
28
    /**
29
     * @return \ReflectionClass[]
30
     */
31 5
    private function getClassReflections()
32
    {
33 5
        $analyzer = new ClassAnalyzer();
34 5
        return $analyzer->getClassReflectionsFromFile($this->getPath());
35
    }
36
37
    /**
38
     * @return string
39
     */
40 5
    private function getPath()
41
    {
42 5
        $pathfinder = new PathFinder($this->getTest());
43 5
        return $pathfinder->findMocksPath();
44
    }
45
}
46