ExpressionTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 26
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testCheckResult() 0 10 1
A checkResultProvider() 0 9 1
1
<?php
2
3
namespace Liip\MonitorBundle\Tests\Check;
4
5
use Laminas\Diagnostics\Result\Failure;
6
use Laminas\Diagnostics\Result\ResultInterface;
7
use Laminas\Diagnostics\Result\Success;
8
use Laminas\Diagnostics\Result\Warning;
9
use Liip\MonitorBundle\Check\Expression;
10
11
/**
12
 * @author Kevin Bond <[email protected]>
13
 */
14
class ExpressionTest extends \PHPUnit\Framework\TestCase
15
{
16
    /**
17
     * @dataProvider checkResultProvider
18
     */
19
    public function testCheckResult($warningCheck, $criticalCheck, $warningMessage, $criticalMessage, $expectedResultClass, $expectedMessage)
20
    {
21
        $check = new Expression('foo', $warningCheck, $criticalCheck, $warningMessage, $criticalMessage);
22
        $this->assertSame('foo', $check->getLabel());
23
24
        $result = $check->check();
25
        $this->assertInstanceOf(ResultInterface::class, $result);
26
        $this->assertInstanceOf($expectedResultClass, $result);
27
        $this->assertSame($expectedMessage, $result->getMessage());
28
    }
29
30
    public function checkResultProvider()
31
    {
32
        return [
33
            ['true', 'true', null, null, Success::class, ''],
34
            ['false', 'true', 'warning', 'fail', Warning::class, 'warning'],
35
            ['true', 'false', 'warning', 'fail', Failure::class, 'fail'],
36
            ['false', 'false', 'warning', 'fail', Failure::class, 'fail'],
37
        ];
38
    }
39
}
40