TransformerTest::testTransform()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 26
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 26
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 17
nc 1
nop 0
1
<?php
2
3
namespace AbacaphiliacTest\Zend\Transformer;
4
5
use Abacaphiliac\Zend\Transformer\Transformer;
6
use AbacaphiliacTest\FizBuz;
7
use AbacaphiliacTest\FooBar;
8
use Zend\Hydrator\ClassMethods;
9
use Zend\Validator\ValidatorChain;
10
11
/**
12
 * @covers \Abacaphiliac\Zend\Transformer\Transformer
13
 */
14
class TransformerTest extends \PHPUnit_Framework_TestCase
15
{
16
    public function testTransform()
17
    {
18
        $sut = new Transformer(
19
            new ValidatorChain(),
20
            new ClassMethods(),
21
            function (array $data) {
22
                return [
23
                    'fiz' => $data['foo'],
24
                    'buz' => $data['bar'],
25
                ];
26
            },
27
            new ClassMethods(),
28
            new ValidatorChain()
29
        );
30
    
31
        $input = new FooBar();
32
        $input->setFoo('Alice');
33
        $input->setBar('Bob');
34
        
35
        $output = $sut->transform($input, FizBuz::class);
36
        self::assertInstanceOf(FizBuz::class, $output);
37
        
38
        /** @var FizBuz $output */
39
        self::assertEquals('Alice', $output->getFiz());
40
        self::assertEquals('Bob', $output->getBuz());
41
    }
42
}
43