Passed
Pull Request — master (#87)
by
unknown
08:41
created

ParseTest::testParseTransactionDebitCredit()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Kingsquare\Parser\Banking\Mt940\Engine\Spk;
4
5
use Kingsquare\Banking\Statement;
6
use Kingsquare\Parser\Banking\Mt940\Engine\Spk;
7
8
/**
9
 *
10
 */
11
class ParseTest extends \PHPUnit_Framework_TestCase
12
{
13
    /**
14
     * @var Spk
15
     */
16
    private $engine;
17
18
    protected function setUp()
19
    {
20
        $this->engine = new Spk();
21
        $this->engine->loadString(file_get_contents(__DIR__.'/sample'));
22
    }
23
24
    public function testParseStatementBank()
25
    {
26
        $method = new \ReflectionMethod($this->engine, 'parseStatementBank');
27
        $method->setAccessible(true);
28
        $this->assertEquals('Spk', $method->invoke($this->engine));
29
    }
30
31
    public function testHasTheRightAmountOfTransactions()
32
    {
33
        $statements = $this->engine->parse();
34
        $this->assertCount(4, $statements);
35
36
        $transactions = array_map(static function(Statement $statement) {
37
            return $statement->getTransactions();
38
        }, $statements);
39
        $tranactions = call_user_func_array('array_merge', $transactions);
40
41
        $this->assertCount(10, $tranactions);
42
    }
43
44
    public function testParsesAllFoundStatements()
45
    {
46
        $statements = $this->engine->parse();
47
        $first = $statements[0];
48
        $last = end($statements);
49
        $this->assertEquals('17-02-2010', $first->getStartTimestamp('d-m-Y'));
50
        $this->assertEquals('17-02-2010', $first->getEndTimestamp('d-m-Y'));
51
        $this->assertEquals('18-02-2010', $last->getStartTimestamp('d-m-Y'));
52
        $this->assertEquals('18-02-2010', $last->getEndTimestamp('d-m-Y'));
53
    }
54
}
55