Completed
Push — master ( bc2952...337d8e )
by Gabriel
07:01
created

OperationsTraitTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testClear() 0 17 1
A testKeyByForArrayCollection() 0 15 1
1
<?php
2
3
namespace Nip\Collections\Tests\Traits;
4
5
use Nip\Collections\Collection;
6
use Nip\Collections\Tests\AbstractTest;
7
use stdClass;
8
9
/**
10
 * Class OperationsTraitTest
11
 * @package Nip\Collections\Tests\Traits
12
 */
13
class OperationsTraitTest extends AbstractTest
14
{
15
    /**
16
     * @var Collection
17
     */
18
    protected $collection;
19
20
    public function testClear()
21
    {
22
        $this->collection = new Collection();
23
24
        static::assertEquals(0, $this->collection->count());
25
26
        $this->collection['first'] = new stdClass();
27
        static::assertEquals(1, $this->collection->count());
28
29
        $this->collection['luke'] = 'Luke Skywalker';
30
        static::assertEquals('Luke Skywalker', $this->collection['luke']);
31
32
        static::assertEquals(2, $this->collection->count());
33
34
        $this->collection->clear();
35
        static::assertEquals(0, $this->collection->count());
36
    }
37
38
    public function testKeyByForArrayCollection()
39
    {
40
        $collection = new Collection();
41
42
        $collection['first'] = ['name' => 'John'];
43
        $collection['second'] = ['name' => 'Mike'];
44
45
        static::assertEquals(2, $collection->count());
46
        static::assertEquals(['first', 'second'], $collection->keys());
47
48
        $newCollection = $collection->keyBy('name');
49
50
        static::assertEquals(['first', 'second'], $collection->keys());
51
        static::assertEquals(['John', 'Mike'], $newCollection->keys());
52
    }
53
}
54