Completed
Pull Request — master (#21)
by Christian
03:19
created

IrlNormalizerSpec::it_is_a_denormalizer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace spec\Xabbuh\XApi\Serializer\Normalizer;
4
5
use PhpSpec\ObjectBehavior;
6
use Xabbuh\XApi\Model\IRL;
7
8
class IrlNormalizerSpec extends ObjectBehavior
9
{
10
    function it_is_a_normalizer()
11
    {
12
        $this->shouldHaveType('Symfony\Component\Serializer\Normalizer\NormalizerInterface');
13
    }
14
15
    function it_supports_normalizing_irl_instances()
16
    {
17
        $this->supportsNormalization(IRL::fromString('https://tincanapi.com'))->shouldReturn(true);
18
    }
19
20
    function it_normalizes_irls_to_their_string_representation()
21
    {
22
        $this->normalize(IRL::fromString('https://tincanapi.com'))->shouldReturn('https://tincanapi.com');
23
    }
24
25
    function it_is_a_denormalizer()
26
    {
27
        $this->shouldHaveType('Symfony\Component\Serializer\Normalizer\DenormalizerInterface');
28
    }
29
30
    function it_supports_denormalizing_to_irl_instances()
31
    {
32
        $this->supportsDenormalization('https://tincanapi.com', 'Xabbuh\XApi\Model\IRL')->shouldReturn(true);
33
    }
34
35
    function it_denormalizes_strings_to_irl_instances()
36
    {
37
        $iri = $this->denormalize('https://tincanapi.com', 'Xabbuh\XApi\Model\IRL');
38
39
        $iri->shouldHaveType('Xabbuh\XApi\Model\IRL');
40
        $iri->equals(IRL::fromString('https://tincanapi.com'))->shouldReturn(true);
41
    }
42
}
43