ModelSerializerTest::testSerialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * File: ModelSerializerTest.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\Model;
10
11
use PHPUnit\Framework\TestCase;
12
use MSlwk\Otomoto\App\Model\Data\ModelDTO;
13
use MSlwk\Otomoto\App\Model\Data\ModelDTOArray;
14
use MSlwk\Otomoto\Middleware\App\Model\ModelSerializer;
15
16
/**
17
 * Class ModelSerializerTest
18
 * @package MSlwk\Otomoto\Middleware\Test\Unit\App\Model
19
 */
20
class ModelSerializerTest extends TestCase
21
{
22
    /**
23
     * @var ModelSerializer
24
     */
25
    private $serializer;
26
27
    /**
28
     * @return void
29
     */
30
    protected function setUp()
31
    {
32
        $this->serializer = new ModelSerializer();
33
    }
34
35
    /**
36
     * @test
37
     */
38
    public function testSerialize()
39
    {
40
        $model1 = new ModelDTO('model1');
41
        $model2 = new ModelDTO('model2');
42
        $modelDTOArray = new ModelDTOArray($model1, $model2);
43
44
        $expected = 'a:2:{i:0;a:1:{s:4:"name";s:6:"model1";}i:1;a:1:{s:4:"name";s:6:"model2";}}';
45
46
        $this->assertEquals($expected, $this->serializer->serialize($modelDTOArray));
47
    }
48
49
    /**
50
     * @test
51
     */
52
    public function testUnserialize()
53
    {
54
        $toUnserialize = 'a:2:{i:0;a:1:{s:4:"name";s:6:"model2";}i:1;a:1:{s:4:"name";s:6:"model9";}}';
55
        $modelDTOArray = $this->serializer->unserialize($toUnserialize);
56
57
        $expectedName1 = 'model2';
58
        $expectedName2 = 'model9';
59
60
        $this->assertInstanceOf(ModelDTOArray::class, $modelDTOArray);
61
        $this->assertEquals($expectedName1, $modelDTOArray->current()->getName());
62
        $this->assertEquals($expectedName2, $modelDTOArray->get(1)->getName());
63
    }
64
}
65