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

OperationsTraitTest::testKeyByForArrayCollection()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 15
rs 9.4285
c 1
b 0
f 1
cc 1
eloc 9
nc 1
nop 0
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