Passed
Pull Request — master (#15)
by Dmitriy
10:54
created

ParamsTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 26
c 3
b 0
f 0
dl 0
loc 47
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testParameters() 0 4 1
A parametersProvider() 0 34 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Composer\Config\Tests\Integration\Tests;
6
7
final class ParamsTest extends PluginTestCase
8
{
9
    /**
10
     * @dataProvider parametersProvider()
11
     * @param string $name
12
     * @param $expectedValue
13
     */
14
    public function testParameters(string $name, $expectedValue): void
15
    {
16
        $actualValue = $this->getParam($name);
17
        $this->assertEquals($expectedValue, $actualValue);
18
    }
19
20
    public function parametersProvider(): array
21
    {
22
        return [
23
            ['boolean parameter', true],
24
            ['string parameter', 'value of param 1'],
25
            ['NAN parameter', 'NAN'],
26
            ['float parameter', 1.0000001],
27
            ['int parameter', 123],
28
            ['long int parameter', 123_000],
0 ignored issues
show
Bug introduced by
The constant Yiisoft\Composer\Config\...tegration\Tests\123_000 was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
29
            ['array parameter', [[[[[[]]]]]]],
30
            [
31
                'callable parameter',
32
                function () {
33
                    return 'I am callable';
34
                },
35
            ],
36
            [
37
                'static callable parameter',
38
                static function () {
39
                    return 'I am callable';
40
                },
41
            ],
42
            ['object parameter', new \stdClass()],
43
            /**
44
             * Test for subpackages parameters
45
             */
46
            ['first-vendor/first-package', true],
47
            ['first-vendor/second-package', true],
48
            ['first-dev-vendor/first-package', true],
49
            ['first-dev-vendor/second-package', true],
50
            ['second-vendor/first-package', true],
51
            ['second-vendor/second-package', true],
52
            ['second-dev-vendor/first-package', true],
53
            ['second-dev-vendor/second-package', true],
54
        ];
55
    }
56
}
57