Passed
Push — master ( 95efe0...902a34 )
by Tobias van
41s queued 11s
created

BaselineValidatorTest::dataProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
1
<?php
2
3
namespace PHPMD\Baseline;
4
5
use PHPMD\AbstractTest;
6
use PHPMD\RuleViolation;
7
use PHPUnit_Framework_MockObject_MockObject;
8
9
/**
10
 * @coversDefaultClass \PHPMD\Baseline\BaselineValidator
11
 * @covers ::__construct
12
 */
13
class BaselineValidatorTest extends AbstractTest
14
{
15
    /** @var BaselineSet|PHPUnit_Framework_MockObject_MockObject */
16
    private $baselineSet;
17
18
    /** @var RuleViolation|PHPUnit_Framework_MockObject_MockObject */
19
    private $violation;
20
21
    protected function setUp()
22
    {
23
        parent::setUp();
24
        $rule            = $this->getMockFromBuilder(
25
            $this->getMockBuilder('\PHPMD\Rule')->disableOriginalConstructor()
26
        );
27
        $this->violation = $this->getMockFromBuilder(
28
            $this->getMockBuilder('\PHPMD\RuleViolation')->disableOriginalConstructor()
29
        );
30
        $this->violation
31
            ->method('getRule')
32
            ->willReturn($rule);
33
        $this->baselineSet = $this->getMockFromBuilder(
34
            $this->getMockBuilder('\PHPMD\Baseline\BaselineSet')->disableOriginalConstructor()
35
        );
36
    }
37
38
    /**
39
     * @covers ::isBaselined
40
     * @dataProvider dataProvider
41
     * @param bool   $contains
42
     * @param string $baselineMode
43
     * @param bool   $isBaselined
44
     */
45
    public function testIsBaselined($contains, $baselineMode, $isBaselined)
46
    {
47
        $this->baselineSet->method('contains')->willReturn($contains);
48
        $validator = new BaselineValidator($this->baselineSet, $baselineMode);
49
        static::assertSame($isBaselined, $validator->isBaselined($this->violation));
50
    }
51
52
    /**
53
     * @return array
54
     */
55
    public function dataProvider()
56
    {
57
        return array(
58
            'contains: true, mode: none'      => array(true, BaselineMode::NONE, true),
59
            'contains: false, mode: none'     => array(false, BaselineMode::NONE, false),
60
            'contains: true, mode: update'    => array(true, BaselineMode::UPDATE, false),
61
            'contains: false, mode: update'   => array(false, BaselineMode::UPDATE, true),
62
            'contains: true, mode: generate'  => array(true, BaselineMode::GENERATE, false),
63
            'contains: false, mode: generate' => array(false, BaselineMode::GENERATE, false),
64
        );
65
    }
66
}
67