Completed
Push — master ( 16b7b3...90dfdb )
by Ryan
13:15
created

PersonTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 5
dl 0
loc 40
c 0
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testPerson() 0 21 1
A testPeople() 0 15 2
1
<?php
2
/**
3
 * Copyright (c) 2017 Ryan Parman <http://ryanparman.com>.
4
 * Copyright (c) 2017 Contributors.
5
 *
6
 * http://opensource.org/licenses/Apache2.0
7
 */
8
9
declare(strict_types=1);
10
11
namespace SimplePie\Test\Integration\Atom\Feed;
12
13
use DOMElement;
14
use SimplePie\Enum\Serialization;
15
use SimplePie\Test\Integration\AbstractTestCase;
16
use SimplePie\Type\Node;
17
use SimplePie\Type\Person;
18
use Skyzyx\UtilityPack\Types;
19
20
/**
21
 * @coversNothing
22
 */
23
class PersonTest extends AbstractTestCase
24
{
25
    public function testPerson(): void
26
    {
27
        $person = $this->feed->getAuthor();
28
29
        $this->assertEquals(Person::class, Types::getClassOrType($person));
30
        $this->assertEquals('Ryan Parman <http://ryanparman.com>', (string) $person);
31
32
        $this->assertEquals(DOMElement::class, Types::getClassOrType($person->getNode()));
33
34
        $this->assertEquals(Node::class, Types::getClassOrType($person->getName()));
35
        $this->assertEquals('Ryan Parman', (string) $person->getName());
36
        $this->assertEquals(Serialization::TEXT, $person->getName()->getSerialization());
37
38
        $this->assertEquals(Node::class, Types::getClassOrType($person->getUrl()));
39
        $this->assertEquals('http://ryanparman.com', (string) $person->getUrl());
40
        $this->assertEquals(Serialization::TEXT, $person->getUrl()->getSerialization());
41
42
        $this->assertEquals(Node::class, Types::getClassOrType($person->getEmail()));
43
        $this->assertEquals('[email protected]', (string) $person->getEmail());
44
        $this->assertEquals(Serialization::TEXT, $person->getEmail()->getSerialization());
45
    }
46
47
    public function testPeople(): void
48
    {
49
        $people = $this->feed->getContributors();
50
51
        foreach ($people as $person) {
52
            $this->assertEquals(Person::class, Types::getClassOrType($person));
53
            $this->assertEquals(DOMElement::class, Types::getClassOrType($person->getNode()));
54
            $this->assertEquals(Node::class, Types::getClassOrType($person->getName()));
55
            $this->assertEquals(Serialization::TEXT, $person->getName()->getSerialization());
56
            $this->assertEquals(Node::class, Types::getClassOrType($person->getUrl()));
57
            $this->assertEquals(Serialization::TEXT, $person->getUrl()->getSerialization());
58
            $this->assertEquals(Node::class, Types::getClassOrType($person->getEmail()));
59
            $this->assertEquals(Serialization::TEXT, $person->getEmail()->getSerialization());
60
        }
61
    }
62
}
63