GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Pull Request — master (#1)
by Pascal
07:37
created

XmlSerializerTest   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 52
rs 10
c 0
b 0
f 0
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getDocumentFixture() 0 10 1
A getSerializer() 0 3 1
A testXmlFormatSerialization() 0 9 1
A testXmlFormatDeserialization() 0 6 1
A testMediaTypeSupport() 0 6 1
A testXmlFormatDeserializationWithAnDOMDocument() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Saikootau\ApiBundle\Tests\Serializer;
6
7
use JMS\Serializer\SerializerBuilder;
8
use Saikootau\ApiBundle\Serializer\XmlSerializer;
9
use Saikootau\ApiBundle\MediaType\MediaTypes;
10
use PHPUnit\Framework\TestCase;
11
use Saikootau\ApiBundle\Tests\Serializer\Asset\Person;
12
13
class XmlSerializerTest extends TestCase
14
{
15
    public function testMediaTypeSupport()
16
    {
17
        $serializer = new XmlSerializer($this->getSerializer());
18
        $this->assertEquals('xml', $serializer->getSupportedFormat());
19
        $this->assertContains(MediaTypes::TYPE_APPLICATION_XML, $serializer->getSupportedMediaTypes());
20
        $this->assertSame(MediaTypes::TYPE_APPLICATION_XML, $serializer->getContentType());
21
    }
22
23
    public function testXmlFormatSerialization()
24
    {
25
        $expectedSerialization = '<?xml version="1.0" encoding="UTF-8"?>';
26
        $expectedSerialization .= "\n<person name=\"tester\" gender=\"male\"/>\n";
27
        $person = new Person();
28
        $person->name = 'tester';
29
        $person->gender = 'male';
30
        $serializer = new XmlSerializer($this->getSerializer());
31
        $this->assertEquals($expectedSerialization, $serializer->serialize($person));
32
    }
33
34
    public function testXmlFormatDeserialization()
35
    {
36
        $document = $this->getDocumentFixture();
37
        $serializer = new XmlSerializer($this->getSerializer());
38
        $person = $serializer->deserialize($document->saveXML(), Person::class);
39
        $this->assertInstanceOf(Person::class, $person);
40
    }
41
42
    public function testXmlFormatDeserializationWithAnDOMDocument()
43
    {
44
        $document = $this->getDocumentFixture()->saveXML();
45
        $serializer = new XmlSerializer($this->getSerializer());
46
        $person = $serializer->deserialize($document, Person::class);
47
        $this->assertInstanceOf(Person::class, $person);
48
    }
49
50
    private function getSerializer()
51
    {
52
        return SerializerBuilder::create()->build();
53
    }
54
55
    private function getDocumentFixture()
56
    {
57
        $document = new \DOMDocument('1.0', 'UTF-8');
58
        $personElement = $document->appendChild($document->createElement('person'));
59
        $nameAttribute = $personElement->appendChild($document->createAttribute('name'));
60
        $nameAttribute->nodeValue = 'tester';
61
        $genderAttribute = $personElement->appendChild($document->createAttribute('gender'));
62
        $genderAttribute->nodeValue = 'male';
63
64
        return $document;
65
    }
66
}
67