MoneyHydratorTest::testHydratorExtractAsExpected()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 9
rs 9.6666
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
3
namespace ZFBrasil\Test\DoctrineMoneyModule\Hydrator;
4
5
use Money\Currency;
6
use PHPUnit_Framework_TestCase as TestCase;
7
use Money\Money;
8
use ZFBrasil\DoctrineMoneyModule\Hydrator\MoneyHydrator;
9
10
/**
11
 * @author  Gabriel Schmitt <[email protected]>
12
 * @license MIT
13
 */
14
class MoneyHydratorTest extends TestCase
15
{
16
    public function testHydratorExtractAsExpected()
17
    {
18
        $object = new Money(500, new Currency('BRL'));
19
        $hydrator = new MoneyHydrator();
20
        $extracted = $hydrator->extract($object);
21
        $expected = ['amount' => 500, 'currency' => $object->getCurrency()->getName()];
22
23
        $this->assertEquals($expected, $extracted);
24
    }
25
26
    public function testHydratorHydratesAsExpected()
27
    {
28
        $hydrator = new MoneyHydrator();
29
        $data = ['amount' => 500, 'currency' => 'BRL'];
30
31
        $money = new Money(500, new Currency('BRL'));
32
        $object = $hydrator->hydrate($data, new \stdClass());
33
34
        $this->assertEquals($money->getAmount(), $object->getAmount());
35
        $this->assertEquals($money->getCurrency(), $object->getCurrency());
36
    }
37
}
38