ManufacturerSerializerTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 43
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 3 1
A testUnserialize() 0 11 1
A testSerialize() 0 9 1
1
<?php
2
/**
3
 * File: ManufacturerSerializerTest.php
4
 *
5
 * @author      Maciej Sławik <[email protected]>
6
 * Github:      https://github.com/maciejslawik
7
 */
8
9
namespace MSlwk\Otomoto\Middleware\Test\Unit\App\Manufacturer;
10
11
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTO;
12
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTOArray;
13
use MSlwk\Otomoto\Middleware\App\Manufacturer\ManufacturerSerializer;
14
use PHPUnit\Framework\TestCase;
15
16
/**
17
 * Class ManufacturerSerializerTest
18
 * @package MSlwk\Otomoto\Middleware\Test\Unit\App\Manufacturer
19
 */
20
class ManufacturerSerializerTest extends TestCase
21
{
22
    /**
23
     * @var ManufacturerSerializer
24
     */
25
    private $manufacturerSerializer;
26
27
    /**
28
     * @return void
29
     */
30
    protected function setUp()
31
    {
32
        $this->manufacturerSerializer = new ManufacturerSerializer();
33
    }
34
35
    /**
36
     * @test
37
     */
38
    public function testSerialize()
39
    {
40
        $manufacturer1 = new ManufacturerDTO('manufacturer1');
41
        $manufacturer2 = new ManufacturerDTO('manufacturer2');
42
        $manufacturerDTOArray = new ManufacturerDTOArray($manufacturer1, $manufacturer2);
43
44
        $expected = 'a:2:{i:0;a:1:{s:4:"name";s:13:"manufacturer1";}i:1;a:1:{s:4:"name";s:13:"manufacturer2";}}';
45
46
        $this->assertEquals($expected, $this->manufacturerSerializer->serialize($manufacturerDTOArray));
47
    }
48
49
    /**
50
     * @test
51
     */
52
    public function testUnserialize()
53
    {
54
        $toUnserialize = 'a:2:{i:0;a:1:{s:4:"name";s:13:"manufacturer2";}i:1;a:1:{s:4:"name";s:13:"manufacturer9";}}';
55
        $manufacturerDTOArray = $this->manufacturerSerializer->unserialize($toUnserialize);
56
57
        $expectedName1 = 'manufacturer2';
58
        $expectedName2 = 'manufacturer9';
59
60
        $this->assertInstanceOf(ManufacturerDTOArray::class, $manufacturerDTOArray);
61
        $this->assertEquals($expectedName1, $manufacturerDTOArray->current()->getName());
62
        $this->assertEquals($expectedName2, $manufacturerDTOArray->get(1)->getName());
63
    }
64
}
65