Completed
Push — master ( d95fc8...954071 )
by Rafael
03:33
created

Array2ObjectTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
c 1
b 0
f 0
lcom 1
cbo 3
dl 0
loc 55
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A testArray2Object() 0 52 1
1
<?php
2
3
/**
4
 * LICENSE: This file is subject to the terms and conditions defined in
5
 * file 'LICENSE', which is part of this source code package.
6
 *
7
 * @copyright 2016 Copyright(c) - All rights reserved.
8
 */
9
10
namespace Rafrsr\LibArray2Object\Tests;
11
12
13
use Rafrsr\LibArray2Object\Array2Object;
14
use Rafrsr\LibArray2Object\Tests\Fixtures\Team;
15
16
class Array2ObjectTest extends \PHPUnit_Framework_TestCase
17
{
18
    public function testArray2Object()
19
    {
20
        $teamArray
21
            = [
22
            'name' => 'Dream Team',
23
            'createdAt' => '2016-01-01',
24
            'points' => '25',
25
            'players' =>
26
                [
27
                    [
28
                        'name' => 'Player 1',
29
                        'number' => '1',
30
                        'height' => '1.80',
31
                        'regular' => 'true'
32
                    ],
33
                    [
34
                        'name' => 'Player 2',
35
                        'number' => '2',
36
                        'height' => '1.85',
37
                        'regular' => 'false'
38
                    ]
39
                ],
40
            'scores' => [
41
                '2016' => '29',
42
                '2015' => '28',
43
                '2014' => '30',
44
            ]
45
46
        ];
47
48
        /** @var Team $team */
49
        $team = Array2Object::createObject(Team::class, $teamArray);
50
        static::assertEquals('Dream Team', $team->getName());
51
        static::assertEquals(25, $team->getPoints());
52
        static::assertEquals(29, $team->getScores()[2016]);
53
        static::assertEquals('2016-01-01', $team->getCreatedAt()->format('Y-m-d'));
54
55
        static::assertEquals('Player 1', $team->getPlayers()[0]->getName());
56
        static::assertEquals(1, $team->getPlayers()[0]->getNumber());
57
        static::assertEquals(1.80, $team->getPlayers()[0]->getHeight());
58
        static::assertTrue($team->getPlayers()[0]->isRegular());
59
60
        static::assertEquals('Player 2', $team->getPlayers()[1]->getName());
61
        static::assertEquals(2, $team->getPlayers()[1]->getNumber());
62
        static::assertEquals(1.85, $team->getPlayers()[1]->getHeight());
63
        static::assertFalse($team->getPlayers()[1]->isRegular());
64
65
        static::assertInternalType('string', $team->getName());
66
        static::assertInternalType('integer', $team->getPoints());
67
        static::assertInternalType('boolean', $team->getPlayers()[0]->isRegular());
68
        static::assertInternalType('float', $team->getPlayers()[0]->getHeight());
69
    }
70
}
71