ModelTest   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 17
c 1
b 0
f 0
dl 0
loc 36
rs 10
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A testToJson() 0 4 1
A testOffsetUnset() 0 6 1
A testOffsetGet() 0 5 1
A testOffsetSet() 0 6 1
A testOffsetSetNullOffset() 0 5 1
1
<?php
2
3
namespace GuillermoandraeTest\Models;
4
5
use PHPUnit\Framework\TestCase;
6
use Guillermoandrae\Models\AbstractModel;
7
8
class ModelTest extends TestCase
9
{
10
    public function testOffsetGet()
11
    {
12
        $data = ['hey' => 'there', 'us' => 'them'];
13
        $model = $this->getMockForAbstractClass(AbstractModel::class, [$data]);
14
        $this->assertSame('there', $model['hey']);
15
    }
16
17
    public function testOffsetSet()
18
    {
19
        $data = ['hey' => 'there'];
20
        $model = $this->getMockForAbstractClass(AbstractModel::class, [$data]);
21
        $model['you'] = 'two';
22
        $this->assertSame('two', $model['you']);
23
    }
24
25
    public function testOffsetSetNullOffset()
26
    {
27
        $model = $this->getMockForAbstractClass(AbstractModel::class);
28
        $model[] = 'two';
29
        $this->assertSame('two', $model[0]);
30
    }
31
    
32
    public function testOffsetUnset()
33
    {
34
        $data = ['hey' => 'there', 'me' => 'you'];
35
        $model = $this->getMockForAbstractClass(AbstractModel::class, [$data]);
36
        unset($model['me']);
37
        $this->assertNull($model['me']);
38
    }
39
40
    public function testToJson()
41
    {
42
        $model = $this->getMockForAbstractClass(AbstractModel::class);
43
        $this->assertSame(json_encode($model->toArray()), $model->toJson());
44
    }
45
}
46