Passed
Push — main ( 3c0f49...2c259b )
by Peter
04:10
created

ParsedTemplateTest   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 74
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 27
c 1
b 0
f 0
dl 0
loc 74
rs 10
wmc 8

8 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetOccurrencesRetrievesOriginallyProvidedOccurrencesByDefault() 0 5 1
A testGetIdentifierRetrievesOriginallyProvidedType() 0 5 1
A testGetAttributeFindsAndRetrievesNullIfAttributeIsNotSet() 0 7 1
A setUp() 0 5 1
A testGetIdentifierRetrievesOriginallyProvidedIdentifier() 0 5 1
A testGetAttributesRetrievesOriginallyProvidedAttributes() 0 5 1
A testGetAttributeFindsAndRetrievesOriginallyProvidedAttributes() 0 7 1
A testGetOccurrencesRetrievesAddedOccurrences() 0 11 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AbterPhp\Framework\Template;
6
7
use PHPUnit\Framework\TestCase;
8
9
class ParsedTemplateTest extends TestCase
10
{
11
    protected const TYPE = 'foo';
12
    protected const IDENTIFIER = 'bar';
13
    protected const ATTRIBUTES  = ['body' => 'baz'];
14
    protected const OCCURRENCES = ['one', 'two', 'three'];
15
16
    /** @var ParsedTemplate - System Under Test */
17
    protected ParsedTemplate $sut;
18
19
    public function setUp(): void
20
    {
21
        parent::setUp();
22
23
        $this->sut = new ParsedTemplate(static::TYPE, static::IDENTIFIER, static::ATTRIBUTES, static::OCCURRENCES);
24
    }
25
26
    public function testGetIdentifierRetrievesOriginallyProvidedType()
27
    {
28
        $actualResult = $this->sut->getType();
29
30
        $this->assertSame(static::TYPE, $actualResult);
31
    }
32
33
    public function testGetIdentifierRetrievesOriginallyProvidedIdentifier()
34
    {
35
        $actualResult = $this->sut->getIdentifier();
36
37
        $this->assertSame(static::IDENTIFIER, $actualResult);
38
    }
39
40
    public function testGetAttributesRetrievesOriginallyProvidedAttributes()
41
    {
42
        $actualResult = $this->sut->getAttributes();
43
44
        $this->assertSame(static::ATTRIBUTES, $actualResult);
45
    }
46
47
    public function testGetAttributeFindsAndRetrievesOriginallyProvidedAttributes()
48
    {
49
        $key = 'body';
50
51
        $actualResult = $this->sut->getAttribute($key);
52
53
        $this->assertSame(static::ATTRIBUTES['body'], $actualResult);
54
    }
55
56
    public function testGetAttributeFindsAndRetrievesNullIfAttributeIsNotSet()
57
    {
58
        $key = 'something';
59
60
        $actualResult = $this->sut->getAttribute($key);
61
62
        $this->assertNull($actualResult);
63
    }
64
65
    public function testGetOccurrencesRetrievesOriginallyProvidedOccurrencesByDefault()
66
    {
67
        $actualResult = $this->sut->getOccurrences();
68
69
        $this->assertSame(static::OCCURRENCES, $actualResult);
70
    }
71
72
    public function testGetOccurrencesRetrievesAddedOccurrences()
73
    {
74
        $expectedResult = ['one', 'two', 'three', 'four'];
75
76
        $newOccurrence = 'four';
77
78
        $this->sut->addOccurrence($newOccurrence);
79
80
        $actualResult = $this->sut->getOccurrences();
81
82
        $this->assertSame($expectedResult, $actualResult);
83
    }
84
}
85