ChangeTest::testBcAdded()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 7
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 9
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace RoaveTest\BackwardCompatibility;
6
7
use Exception;
8
use PHPUnit\Framework\TestCase;
9
use Roave\BackwardCompatibility\Change;
10
use function uniqid;
11
12
/**
13
 * @covers \Roave\BackwardCompatibility\Change
14
 */
15
final class ChangeTest extends TestCase
16
{
17
    public function testAdded() : void
18
    {
19
        $changeText = uniqid('changeText', true);
20
        $change     = Change::added($changeText, false);
21
        self::assertSame('     ADDED: ' . $changeText, (string) $change);
22
        self::assertTrue($change->isAdded());
23
        self::assertFalse($change->isChanged());
24
        self::assertFalse($change->isRemoved());
25
        self::assertFalse($change->isSkipped());
26
    }
27
28
    public function testBcAdded() : void
29
    {
30
        $changeText = uniqid('changeText', true);
31
        $change     = Change::added($changeText, true);
32
        self::assertSame('[BC] ADDED: ' . $changeText, (string) $change);
33
        self::assertTrue($change->isAdded());
34
        self::assertFalse($change->isChanged());
35
        self::assertFalse($change->isRemoved());
36
        self::assertFalse($change->isSkipped());
37
    }
38
39
    public function testChanged() : void
40
    {
41
        $changeText = uniqid('changeText', true);
42
        $change     = Change::changed($changeText, false);
43
        self::assertSame('     CHANGED: ' . $changeText, (string) $change);
44
        self::assertFalse($change->isAdded());
45
        self::assertTrue($change->isChanged());
46
        self::assertFalse($change->isRemoved());
47
    }
48
49
    public function testBcChanged() : void
50
    {
51
        $changeText = uniqid('changeText', true);
52
        $change     = Change::changed($changeText, true);
53
        self::assertSame('[BC] CHANGED: ' . $changeText, (string) $change);
54
        self::assertFalse($change->isAdded());
55
        self::assertTrue($change->isChanged());
56
        self::assertFalse($change->isRemoved());
57
        self::assertFalse($change->isSkipped());
58
    }
59
60
    public function testRemoved() : void
61
    {
62
        $changeText = uniqid('changeText', true);
63
        $change     = Change::removed($changeText, false);
64
        self::assertSame('     REMOVED: ' . $changeText, (string) $change);
65
        self::assertFalse($change->isAdded());
66
        self::assertFalse($change->isChanged());
67
        self::assertTrue($change->isRemoved());
68
        self::assertFalse($change->isSkipped());
69
    }
70
71
    public function testBcRemoved() : void
72
    {
73
        $changeText = uniqid('changeText', true);
74
        $change     = Change::removed($changeText, true);
75
        self::assertSame('[BC] REMOVED: ' . $changeText, (string) $change);
76
        self::assertFalse($change->isAdded());
77
        self::assertFalse($change->isChanged());
78
        self::assertTrue($change->isRemoved());
79
        self::assertFalse($change->isSkipped());
80
    }
81
82
    public function testSkippedDueToFailure() : void
83
    {
84
        $failure = new Exception('changeText');
85
        $change  = Change::skippedDueToFailure($failure);
86
        self::assertSame('[BC] SKIPPED: ' . $failure->getMessage(), (string) $change);
87
        self::assertFalse($change->isAdded());
88
        self::assertFalse($change->isChanged());
89
        self::assertFalse($change->isRemoved());
90
        self::assertTrue($change->isSkipped());
91
    }
92
}
93