ExpressionTest::testCheckResult()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 6
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