Completed
Push — master ( 650880...84b6a6 )
by Markus
21s
created

ResponseTest::test_getter_and_setter()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
c 2
b 1
f 0
dl 0
loc 33
rs 8.8571
cc 1
eloc 24
nc 1
nop 0
1
<?php
2
3
namespace Fhp\ResponseTest;
4
5
use Fhp\Response\Response;
6
7
class ResponseTest extends \PHPUnit_Framework_TestCase
8
{
9
    protected static function getMethod($class, $name)
10
    {
11
        $class  = new \ReflectionClass($class);
12
        $method = $class->getMethod($name);
13
        $method->setAccessible(TRUE);
14
15
        return $method;
16
    }
17
18
    public function test_getter_and_setter()
19
    {
20
        $response = self::getMethod('Fhp\Response\Response', 'splitSegment');
21
22
        $withoutEscape = new Response('');
23
        $escaped       = clone $withoutEscape;
24
25
        $segments        = $response->invokeArgs($withoutEscape, [
26
            'HISAL:5:5:3+111111111::280:111111111+GiroBest+EUR+C:9999,99:EUR:20161018+C:0,:EUR:20161018+0,:EUR+9999,99:EUR',
27
        ]);
28
29
        $segmentsEscaped = $response->invokeArgs($escaped, [
30
            'HISAL:5:5:3+111111111::280:111111111+GiroBusiness?++EUR+C:9999,99:EUR:20161018+C:0,:EUR:20161018+0,:EUR+9999,99:EUR',
31
        ]);
32
33
        $this->assertEquals('HISAL:5:5:3', $segments[0]);
34
        $this->assertEquals('111111111::280:111111111', $segments[1]);
35
        $this->assertEquals('GiroBest', $segments[2]);
36
        $this->assertEquals('EUR', $segments[3]);
37
        $this->assertEquals('C:9999,99:EUR:20161018', $segments[4]);
38
        $this->assertEquals('C:0,:EUR:20161018', $segments[5]);
39
        $this->assertEquals('0,:EUR', $segments[6]);
40
        $this->assertEquals('9999,99:EUR', $segments[7]);
41
42
        $this->assertEquals('HISAL:5:5:3', $segmentsEscaped[0]);
43
        $this->assertEquals('111111111::280:111111111', $segmentsEscaped[1]);
44
        $this->assertEquals('GiroBusiness+', $segmentsEscaped[2]);
45
        $this->assertEquals('EUR', $segmentsEscaped[3]);
46
        $this->assertEquals('C:9999,99:EUR:20161018', $segmentsEscaped[4]);
47
        $this->assertEquals('C:0,:EUR:20161018', $segmentsEscaped[5]);
48
        $this->assertEquals('0,:EUR', $segmentsEscaped[6]);
49
        $this->assertEquals('9999,99:EUR', $segmentsEscaped[7]);
50
    }
51
}
52