Passed
Push — master ( 4fcdf3...7b3d54 )
by Gabriel
04:16
created

TransformMethodsTraitTest::testImplode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 6
c 1
b 0
f 1
dl 0
loc 9
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Nip\Collections\Tests\Traits;
4
5
use Nip\Collections\Collection;
6
use Nip\Collections\Tests\AbstractTest;
7
use Nip\Utility\Str;
8
9
/**
10
 * Class TransformMethodsTraitTest
11
 * @package Nip\Collections\Tests\Traits
12
 */
13
class TransformMethodsTraitTest extends AbstractTest
14
{
15
16
    /**
17
     * @dataProvider collectionClassProvider
18
     */
19
    public function testImplode($collection)
20
    {
21
        $data = new $collection([['name' => 'taylor', 'email' => 'foo'], ['name' => 'dayle', 'email' => 'bar']]);
22
        $this->assertSame('foobar', $data->implode('email'));
23
        $this->assertSame('foo,bar', $data->implode('email', ','));
24
25
        $data = new $collection(['taylor', 'dayle']);
26
        $this->assertSame('taylordayle', $data->implode(''));
27
        $this->assertSame('taylor,dayle', $data->implode(','));
28
    }
29
30
    public function test_transform()
31
    {
32
        $data = new Collection(['first' => 'john', 'last' => 'doe']);
33
        $data->transform(function ($item, $key) {
34
            return $key.'-'.strrev($item);
35
        });
36
        static::assertEquals(['first' => 'first-nhoj', 'last' => 'last-eod'], $data->all());
37
    }
38
}