Completed
Push — master ( 3be072...ba2d3a )
by Marco
231:32 queued 209:55
created

ConfigurationTest   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 147
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 10
lcom 1
cbo 1
dl 0
loc 147
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ProxyManagerTest;
6
7
use PHPUnit\Framework\TestCase;
8
use ProxyManager\Autoloader\AutoloaderInterface;
9
use ProxyManager\Configuration;
10
use ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy;
11
use ProxyManager\GeneratorStrategy\GeneratorStrategyInterface;
12
use ProxyManager\Inflector\ClassNameInflectorInterface;
13
use ProxyManager\Signature\ClassSignatureGeneratorInterface;
14
use ProxyManager\Signature\SignatureCheckerInterface;
15
use ProxyManager\Signature\SignatureGeneratorInterface;
16
17
/**
18
 * Tests for {@see \ProxyManager\Configuration}
19
 *
20
 * @group Coverage
21
 */
22
final class ConfigurationTest extends TestCase
23
{
24
    private Configuration $configuration;
0 ignored issues
show
Bug introduced by
This code did not parse for me. Apparently, there is an error somewhere around this line:

Syntax error, unexpected T_STRING, expecting T_FUNCTION or T_CONST
Loading history...
25
26
    /**
27
     * {@inheritDoc}
28
     */
29
    protected function setUp() : void
30
    {
31
        $this->configuration = new Configuration();
32
    }
33
34
    /**
35
     * @covers \ProxyManager\Configuration::getProxiesNamespace
36
     * @covers \ProxyManager\Configuration::setProxiesNamespace
37
     */
38
    public function testGetSetProxiesNamespace() : void
39
    {
40
        self::assertSame(
41
            'ProxyManagerGeneratedProxy',
42
            $this->configuration->getProxiesNamespace(),
43
            'Default setting check for BC'
44
        );
45
46
        $this->configuration->setProxiesNamespace('foo');
47
        self::assertSame('foo', $this->configuration->getProxiesNamespace());
48
    }
49
50
    /**
51
     * @covers \ProxyManager\Configuration::getClassNameInflector
52
     * @covers \ProxyManager\Configuration::setClassNameInflector
53
     */
54
    public function testSetGetClassNameInflector() : void
55
    {
56
        /** @noinspection UnnecessaryAssertionInspection */
57
        self::assertInstanceOf(ClassNameInflectorInterface::class, $this->configuration->getClassNameInflector());
58
59
        /** @var ClassNameInflectorInterface $inflector */
60
        $inflector = $this->createMock(ClassNameInflectorInterface::class);
61
62
        $this->configuration->setClassNameInflector($inflector);
63
        self::assertSame($inflector, $this->configuration->getClassNameInflector());
64
    }
65
66
    /**
67
     * @covers \ProxyManager\Configuration::getGeneratorStrategy
68
     */
69
    public function testDefaultGeneratorStrategyNeedToBeAInstanceOfEvaluatingGeneratorStrategy() : void
70
    {
71
        self::assertInstanceOf(EvaluatingGeneratorStrategy::class, $this->configuration->getGeneratorStrategy());
72
    }
73
74
    /**
75
     * @covers \ProxyManager\Configuration::getGeneratorStrategy
76
     * @covers \ProxyManager\Configuration::setGeneratorStrategy
77
     */
78
    public function testSetGetGeneratorStrategy() : void
79
    {
80
        /** @noinspection UnnecessaryAssertionInspection */
81
        self::assertInstanceOf(GeneratorStrategyInterface::class, $this->configuration->getGeneratorStrategy());
82
83
        /** @var GeneratorStrategyInterface $strategy */
84
        $strategy = $this->createMock(GeneratorStrategyInterface::class);
85
86
        $this->configuration->setGeneratorStrategy($strategy);
87
        self::assertSame($strategy, $this->configuration->getGeneratorStrategy());
88
    }
89
90
    /**
91
     * @covers \ProxyManager\Configuration::getProxiesTargetDir
92
     * @covers \ProxyManager\Configuration::setProxiesTargetDir
93
     */
94
    public function testSetGetProxiesTargetDir() : void
95
    {
96
        self::assertDirectoryExists($this->configuration->getProxiesTargetDir());
97
98
        $this->configuration->setProxiesTargetDir(__DIR__);
99
        self::assertSame(__DIR__, $this->configuration->getProxiesTargetDir());
100
    }
101
102
    /**
103
     * @covers \ProxyManager\Configuration::getProxyAutoloader
104
     * @covers \ProxyManager\Configuration::setProxyAutoloader
105
     */
106
    public function testSetGetProxyAutoloader() : void
107
    {
108
        /** @noinspection UnnecessaryAssertionInspection */
109
        self::assertInstanceOf(AutoloaderInterface::class, $this->configuration->getProxyAutoloader());
110
111
        /** @var AutoloaderInterface $autoloader */
112
        $autoloader = $this->createMock(AutoloaderInterface::class);
113
114
        $this->configuration->setProxyAutoloader($autoloader);
115
        self::assertSame($autoloader, $this->configuration->getProxyAutoloader());
116
    }
117
118
    /**
119
     * @covers \ProxyManager\Configuration::getSignatureGenerator
120
     * @covers \ProxyManager\Configuration::setSignatureGenerator
121
     */
122
    public function testSetGetSignatureGenerator() : void
123
    {
124
        /** @noinspection UnnecessaryAssertionInspection */
125
        self::assertInstanceOf(SignatureCheckerInterface::class, $this->configuration->getSignatureChecker());
126
127
        /** @var SignatureGeneratorInterface $signatureGenerator */
128
        $signatureGenerator = $this->createMock(SignatureGeneratorInterface::class);
129
130
        $this->configuration->setSignatureGenerator($signatureGenerator);
131
        self::assertSame($signatureGenerator, $this->configuration->getSignatureGenerator());
132
    }
133
134
    /**
135
     * @covers \ProxyManager\Configuration::getSignatureChecker
136
     * @covers \ProxyManager\Configuration::setSignatureChecker
137
     */
138
    public function testSetGetSignatureChecker() : void
139
    {
140
        /** @noinspection UnnecessaryAssertionInspection */
141
        self::assertInstanceOf(SignatureCheckerInterface::class, $this->configuration->getSignatureChecker());
142
143
        /** @var SignatureCheckerInterface $signatureChecker */
144
        $signatureChecker = $this->createMock(SignatureCheckerInterface::class);
145
146
        $this->configuration->setSignatureChecker($signatureChecker);
147
        self::assertSame($signatureChecker, $this->configuration->getSignatureChecker());
148
    }
149
150
    /**
151
     * @covers \ProxyManager\Configuration::getClassSignatureGenerator
152
     * @covers \ProxyManager\Configuration::setClassSignatureGenerator
153
     */
154
    public function testSetGetClassSignatureGenerator() : void
155
    {
156
        /** @noinspection UnnecessaryAssertionInspection */
157
        self::assertInstanceOf(
158
            ClassSignatureGeneratorInterface::class,
159
            $this->configuration->getClassSignatureGenerator()
160
        );
161
        /** @var ClassSignatureGeneratorInterface $classSignatureGenerator */
162
        $classSignatureGenerator = $this->createMock(ClassSignatureGeneratorInterface::class);
163
164
        $this->configuration->setClassSignatureGenerator($classSignatureGenerator);
165
        self::assertSame($classSignatureGenerator, $this->configuration->getClassSignatureGenerator());
166
    }
167
}
168